본문 바로가기

java34

프로그래머스 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 공 던지기 공 던지기 게임을 한다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그 다음 사람에게만 던질 수 있다. 친구들의 번호가 있는 정수 배열 numbers와 정수 k가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return하라. numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있다. numbers는 1부터 시작하며 번호는 순서대로 올라간다. numbers k result [1, 2, 3, 4] 2 3 [1, 2, 3, 4, 5, 6] 5 3 [1, 2, 3] 3 2 ** 풀이 방법 1. numbers[0]부터 공을 던지기 시작한다. 1~k번 공을 던지고 chk를 1씩 증가시켜 chk가 k번째가 되면 반복문을 벗어난다. 2. 인덱스를 2씩 증가시킨.. 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.
반응형