본문 바로가기

코딩테스트47

프로그래머스 Lv.0 수열과 구간 쿼리2 프로그래머스 Lv.0 수열과 구간 쿼리2 정수 배열 arr와 2차원 정수 배열 queries가 주어진다. queries의 원소는 각각 하나의 query를 나타내며 [s, e, k] 꼴이다. query마다 순서대로 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾는다. 각 쿼리 순서에 맞게 답을 저장한 배열을 return하라. 특정 쿼리의 답이 존재하지 않으면 -1을 저장한다. arr queries result [0, 1, 2, 4, 3] [[0, 4, 2], [0, 3, 2], [0, 2, 2]] [3, 4, -1] ** 풀이 방법 1. queries의 행에 접근하는 반복문과 하위에 queries[i][2]보다 큰 숫자들을 담기 위해 ArrayList를 생성한다. 2. 행이 넘어가기 전에 lis.. 2023. 7. 28.
프로그래머스 Lv.0 세 개의 구분자 프로그래머스 Lv.0 세 개의 구분자 임의의 문자열이 주어졌을 때, "a", "b", "c"를 구분자로 사용해 문자열을 나눈다. 세 개의 구분자를 사용해 나눠진 문자열을 순서대로 저장한 배열을 return하라. 구분자 사이에 다른 문자가 없을 경우에는 아무것도 저장하지 않고, ["EMPTY"]를 return한다. ** 풀이 방법 먼저 a, b, c를 모두 공백으로 바꿔준다. myStr = myStr.replace("a"," "); myStr = myStr.replace("b"," "); myStr = myStr.replace("c"," "); String배열에 myStr을 공백으로 나눈 문자열들을 저장한다. String[] list = myStr.split(" "); String배열의 ""를 제외한 문자.. 2023. 7. 26.
프로그래머스 Lv.0 잘라서 배열로 저장하기 프로그래머스 Lv.0 잘라서 배열로 저장하기 문자열 my_str과 n이 매개변수로 주어진다. my_str을 길이 n씩 잘라서 저장한 배열을 return하라. my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있다. my_str n result "abc1Addfggg4556b" 6 ["abc1Ad", "dfggg4", "556b"] "abcdef123" 3 ["abc", "def", "123"] ** 풀이 방법 my_str을 n으로 나눠서 자를때 총 my_str의 길이/n번 자르게 되는데 my_str의 길이/n이 나누어 떨어지지 않는다면 남아있는 문자열이 있는 것이므로 my_str의 길이/n+1번 자르게 된다. int chk = (my_str.length()/n == 0? my_str.length().. 2023. 7. 26.
프로그래머스 Lv.0 문자열 겹쳐쓰기 프로그래머스 Lv.0 문자열 겹쳐쓰기 문자열 my_string, overwrite_string과 정수 s가 주어진다. my_string의 인덱스 s부터 overwrite_string의 길이만큼 바꾼 문자열을 return하라. my_string overwrite_string s result "He11oWor1d" "lloWorl" 2 "HelloWorld" "Program29b8UYP" "merS123" 7 "ProgrammersS123" ** 풀이 방법 substring을 사용해 my_string의 0번 부터 s-1인덱스까지 담는다. answer += my_string.substring(0, s); 그 다음 overwrite_string을 담는다. answer += overwrite_string; my_.. 2023. 7. 25.
반응형