코테18 전화번호 목록(Lv.2) 문제 설명 입출력 예시 요약 전화번호목록에서 특정 전화번호로 시작하는 전화번호가 있는지 찾기 풀이 접근 방식 1. 반복문을 통해 목록에 접두어 존재 여부 확인 → i번째 전화번호의 length - 1 번째 까지 += 해가면서 목록에서 조회 코드리뷰 import java.util.*; class Solution { public boolean solution(String[] phone_book) { boolean answer = true; HashSet set = new HashSet(); for(String str : phone_book) { set.add(str); } for(int i = 0; i < phone_book.length; i++) { for(int j = 0; j < phone_book[i.. 2024. 3. 22. 타겟 넘버(Lv.2) 문제 설명 입출력 예시 요약 끝까지 더하거나 빼서 target을 완성할 수 있는 경우의 수 구하기 풀이 접근 방식 1. dfs를 통한 모든 경우의 수 구하기 → 재귀함수로 구현, length의 끝까지 도달했다면 return(exit) → 더하는 동작 실행 후 빼는 동작 실행 코드 리뷰 import java.util.*; class Solution { int[] nums; int targetNum; int count = 0; public void dfs(int i, int sum) { if(i == nums.length) {// 탈출조건은 length까지 도달했을 때가 된다. if(sum == targetNum) {// 마지막까지 더하거나 뺏을 때 target과 같은지 비교 count++; } return.. 2024. 3. 22. 다트 게임(Lv.1) 문제 설명 입출력 예시 요약 획득 가능 점수는 0~10점 S = single, D = double, T = triple * = 해당 턴 및 앞 턴의 점수 x2 (첫 번째 턴이라면 해당 점수만 적용) # = 해당 턴 점수 x(-1) 풀이 문제 해석 숫자|알파벳|특수기호 조합의 각 턴의 점수를 계산한다. 접근 방식 1. 점수 리스트 생성 → 알파벳 전의 1자리 혹은 2자리가 숫자면 intList.add() 2. 알파벳 리스트 생성 → charAt(i).isAlphabetic()이면 strList.add() 3. 특수기호 리스트 생성 → 알파벳 뒤의 1자리가 특수기호(*, #)면 symbolList.add() 코드리뷰 import java.util.*; class Solution { public int sol.. 2024. 3. 22. 체육복(Lv.1) 문제 설명 입출력 예시 요약 잃어버린 사람의 앞 뒤 번호를 여분이 있는 사람 목록에서 찾기 풀이 접근 방식 1. lost 배열과 reserve 배열 기반으로 set 만들기 → reserve에 있는 번호가 lost에도 있으면 해당 번호는 삭제(여분을 잃어버렸기 때문에 +-0) 2. iterator 반복자를 통해 lost set의 앞 뒤 번호 확인 → 만약 있다면 lost 배열에서 제거 코드리뷰 import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { HashSet lostSet = new HashSet(); HashSet reserveSet = new HashSet(); for(int i : los.. 2024. 3. 21. 완주하지 못한 선수(Lv.1) 문제 설명 입출력 예시 요약 참가했는데 완주하지 못한 선수의 이름 찾기 풀이 접근 방식 1. 참가자 map 만들어서 완주자 배열에 없는 이름 찾기 → hashmap과 keySet() 활용 코드리뷰 import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap part = new HashMap(); for(String str : participant) { part.put(str, part.getOrDefault(str, 0) + 1);// map에 getOrDefault를 통해 기본 value = 1로 세팅 } for(String s.. 2024. 3. 21. 크레인 인형뽑기 게임(Lv.1) H3 중제목 입출력 예시 요약 바구니에 2개의 같은 인형이 위치하면 사라짐 풀이 문제 해석 넣기 전 바구니의 개수가 1개 이상일 경우, 뽑은 인형과 비교해서 같으면 넣지 않고 바구니의 담긴 마지막 인형 제거 접근 방식 1. moves = col+1로 생각 → 열의 번호(moves[i])가 1번부터 시작 2. moves[i]에 해당하는 열의 row를 최대 배열 크기만큼 순회 → 0은 인형이 없는 것을 뜻하기 때문에 0이 아닐때까지 반복해서 찾는다. 코드리뷰 import java.util.*; class Solution { public int solution(int[][] board, int[] moves) { int count = 0; List list = new ArrayList();// 바구니로 사용할.. 2024. 3. 21. 이전 1 2 3 다음