전체 글
-
프로그래머스 코딩테스트(빈 배열에 추가, 삭제하기, 소인수분해, 7의 개수)코딩테스트 2023. 5. 31. 18:36
문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 X의 뒤에 arr[i]를 arr[i] × 2 번 추가하고, flag[i]가 false라면 X에서 마지막 arr[i]개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요. 풀이 import java.util.Arrays; class Solution { public int[] solution(int[] arr, boolean[] flag) { int num = 0; for(int i=0;i
-
프로그래머스 코딩테스트(컨트롤 제트, 문자열이 몇 번 등장하는지 세기, 이차원 배열 대각선 순회하기)코딩테스트 2023. 5. 25. 06:28
문제 설명 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. 풀이 class Solution { public int solution(String s) { String[] arr = s.split(" "); int answer = 0; for(int i=0;i
-
프로그래머스 코딩테스트(특정 문자열로 끝나는 가장 긴 부분 문자열 찾기, 세로 읽기, 날짜 비교하기)코딩테스트 2023. 5. 25. 00:04
문제 설명 문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요. 풀이 class Solution { public String solution(String myString, String pat) { String answer = ""; int n = 0; for(int i=myString.length()-1;i>=0;i--){ if(myString.substring(i).contains(pat)){ n = i; break; } } return myString.substring(0,n+pat.length()); } } 다른 사람 풀이 class Solution { public Str..
-
프로그래머스 코딩테스트(배열 만들기 5, 간단한 논리 연산, 이진수 더하기)코딩테스트 2023. 5. 23. 17:57
문제 설명 문자열 배열 intStrs와 정수 k, s, l가 주어집니다. intStrs의 원소는 숫자로 이루어져 있습니다. 배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환합니다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return 하는 solution 함수를 완성해 주세요. 풀이 class Solution { public int[] solution(String[] intStrs, int k, int s, int l) { int n = 0; for(int i=0;ik){ intStrs[i] = intStrs[i].substring(s,s+l); n++; } else intStrs[i] = ""; } int[] answer = new in..
-
프로그래머스 코딩테스트(한 번만 등장한 문자, 수열과 구간 쿼리 1, 1로 만들기)코딩테스트 2023. 5. 22. 19:39
문제 설명 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다. 풀이 import java.util.Arrays; class Solution { public String solution(String s) { String answer = ""; String[] arr = s.split(""); String str = arr[0]; Arrays.sort(arr); for(int i=0;i
-
프로그래머스 코딩테스트(수 조작하기 2, 문자열 뒤집기, 수열과 구간 쿼리 3)코딩테스트 2023. 5. 22. 17:29
문제 설명 정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다. "w" : 수에 1을 더한다. "s" : 수에 1을 뺀다. "d" : 수에 10을 더한다. "a" : 수에 10을 뺀다. 그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다. 주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요. 풀이 class Solution { public String solution(int[]..
-
프로그래머스 코딩테스트(진료순서 정하기, 문자열 반복해서 출력하기, 숨어있는 숫자의 덧셈 (2))코딩테스트 2023. 5. 20. 22:01
문제 설명 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 풀이 import java.util.Arrays; import java.util.Collections; class Solution { public int[] solution(int[] emergency) { int[] answer = new int[emergency.length]; answer = Arrays.copyOf(emergency,emergency.length); Arrays.sort(answer); for(int i=0;i
-
프로그래머스 코딩테스트(가까운 수, 등차수열의 특정한 항만 더하기, 문자열 잘라서 정렬하기)코딩테스트 2023. 5. 19. 11:36
문제 설명 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 풀이 import java.lang.Math; import java.util.Arrays; class Solution { public int solution(int[] array, int n) { Arrays.sort(array); int abs = Math.abs(array[0]-n); int answer = array[0]; for(int i=1;iMath.abs(array[i]-n)){ abs = Math.abs(array[i]-n); answer = array[i]; } } return answer; } } 문제 설명 두..