Java 30

프로그래머스 Lv.2 - 이진 변환 반복하기

https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문자열 s 가 "1"이 될때까지 반복하는 구조로 설정 2. 문자열 s 에서 0이 모두 제거된 횟수와 제거된 문자열을 저장 3. 0이 모두 제거된 문자열에 길이를 toBinaryString()을 이용하여 이진수로 변환한 문자열을 s에 저장 4. 한 횟수가 돌았으니 answer[0] 에 1을 더하고, answer[1]에 0이 제거된 수를 더해준다. 12345678910111213141516171..

Programmers/Lv.2 2023.07.24

스택

스택이란 LIFO(Last In - First Out)의 형태를 가진 자료구조이다. 스택 선언 import java.util.Stack; Stack stack = new Stack(); // 스택 내부 자료형이 int형인 스택 선언 Stack stack = new Stack(); // 스택 내부 자료형이 character형인 스택 선언 스택 함수 Stack st = new Stack(); /* 스택 값 추가 */ st.push(1); st.push(2); st.push(3); //1, 2, 3 순으로 저장됨 /* 스택 값 삭제 */ st.pop(); // 늦게 들어온 3이 삭제됨. st.clear(); // 스택 초기화 /* 최상단의 값 출력 */ st.peek(); /* 스택 크기 출력 */ st.si..

JAVA 2023.07.24

프로그래머스 Lv.2 - 올바른 괄호

https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 스택 변수를 선언하고, 해당 스택변수에 데이터가 없는 경우, true를 리턴, 아닌 경우에는 false를 리턴하는 것으로 설정 2. 주어진 문자열을 순회하면서 '(' 만 스택 변수에 push 3. 스택 변수에 데이터가 없고 현재 순회한 문자가 ')' 경우에는 false 리턴 4. 스택 변수에 데이터가 있고 현재 순회한 문자가 ')' 경우에는 pop을 실행 1 2 3 4 5 6 7 8 9 10..

Programmers/Lv.2 2023.07.23

프로그래머스 Lv.1 - 바탕화면정리

https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 바탕화면에 정리할 폴더들을 전체 선택을 할 수 있어야 한다. 2. 각 파일들의 좌표들 중 개별적인 x좌표 y좌표 중 최대 최소에 대한 정보를 가져온다. 123456789101112131415161718192021class Solution { public int[] solution(String[] wallpaper) { int x1 = 50; int y1 = 50; ..

Programmers/Lv.1 2023.07.23

프로그래머스 Lv.1 - 크기가 작은 부분 문자열

https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문자열 t를 글자 하나하나 순회를 한다. 2. 순회하면서 p 사이즈만큼의 앞 문자까지 잘라서 p와 비교를 한다. 3. p가 더 큰 경우 answer 값을 하나씩 증가시킨다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Solution { public int solution(String t, String p) { int answer = 0; int pSize = p...

Programmers/Lv.1 2023.05.31

프로그래머스 Lv.1 - 과일 장수

https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. score에 저장된 과일들은 m개씩 한 박스로 분류가 된다. 2. 우리가 구하고자 하는 최대 이익은 (최저 사과 점수) x (한 상자에 담긴 사과 개수) x (상자의 개수) 이다. 3. score을 오름차순으로 한 뒤, m개씩 묶어 반복문을 순회하면 순회하는 값은 각 박스마다 최저 점수를 가지고 있는 사과이다. 4. 이 때, 각 박스의 최저 사과 점수를 이용하여 최대 이익을 구하면 된다. ..

Programmers/Lv.1 2023.05.26

프로그래머스 Lv.1 - 푸드 파이트 대회

https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 리턴 되는 값 중앙에는 항상 "0"이 존재해야 한다. 2. 중앙을 기준으로 문자열은 대칭되므로 foo 배열을 역순회 해서 answer 양 쪽에 문자를 더하는 방법으로 답을 구한다. ex) "0" → "303" → "222303222" → "12223032221" 1234567891011class Solution { public String solution(int[] food) { Strin..

Programmers/Lv.1 2023.05.23

프로그래머스 Lv.1 - 덧칠하기

https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. section 배열에는 덧칠해야 하는 타일의 번호가 오름차순으로 되어 있다. 2. 반드시 section에 첫번째 타일은 색칠을 해야 하므로 sc 변수에 첫번째 타일 번호를 저장한다. 3. 덧칠하는 타일은 시작 타일부터 m - 1 을 더한 타일 번호까지 색칠을 하게 되는데 이 때, 다음에 덧칠해야 하는 타일 번호보다 작으면 sc 변수에 다음으로 덧칠해야 하는 타일 번호를 저장한다. ex) 여..

Programmers/Lv.1 2023.05.23

프로그래머스 Lv.1 - 최소직사각형

https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 첫 번째 명함의 가로와 세로의 길이를 구해서 둘 중 더 큰 값은 max 변수에 저장, 작은 값은 min 변수에 저장한다. 2. 명함 배열을 순회하면서 탐색하는 명함의 가로 길이를 w변수에 저장, 세로 길이를 h변수에 저장한다. 3. w변수와 h변수 중 max 값 보다 큰 값이 있으면 해당 값을 max 변수에 저장한다. 4. w변수 h변수 중 더 작은 값을 cmp 변수에 저장하고 cmp 변수가..

Programmers/Lv.1 2023.05.21

@RequestParam @ModelAttribute - HTTP 요청 파라미터

@RequestParam : 파라미터 이름으로 바인딩 속성 : value, requried, defaultValue value : 요청된 데이터의 키를 명시 바인딩 대상이 되는 변수명과 키 이름이 같으면 value 속성은 생략 가능 // 요청 url localhost:8080/request-param?username=user&age=28 @RequestMapping("/request-param") public String requestParam( @RequestParam String username, @RequestParam int age) { log.info("username={}, age={}",username, age); return "ok"; } required : 요청 파라미터 필수 여부, 기본..

SPRING 2023.05.17