코테18 메뉴 리뉴얼(Lv.2) 문제 설명 입출력 예시 요약 각 order를 course에 해당하는 길이로 조합해서 개수가 가장 많은 조합을 return 풀이 문제 해석 각 order를 알파벳순으로 정렬해서 course에 해당하는 길이로 조합을 만들어 개수가 가장 많은 조합 구하기 접근 방식 1) 알바벳순으로 정렬 → .toCharArray()를 통해 String을 char[]로 변환 후 Arrays.sort(char[])를 통해 알파벳순으로 정렬 2) 재귀함수를 사용해 해당 order를 가지고 조합 구하기 → "AC"와 "CA"는 서로 같으므로 알파벳순으로 정렬 후 조합 구하기 3) 개수가 가장 많은 요소 구하기 → Collections.max(map.values())를 통해 max 구해서 비교 코드 리뷰 import java.uti.. 2024. 3. 19. 개인정보 수집 유효기간(Lv.1) 문제 설명 입출력 예시 요약 주어진 오늘 날짜와 비교해 유효기간이 만료된 약관의 번호를 담은 int 배열 return 풀이 문제 해석 해당 약관의 개월수를 더해 유효기간을 계산하고 오늘 날짜와 비교해서 지났으면 true 아니면 false 접근 방식 1) 약관 개월수를 반영한 유효기간 구하기 → 12보다 큰 경우 year += 1, 약관 개월수 -= 12 → 약관 개월수 더한 후 해당 날짜의 day -= 1 2) 경계값 기준으로 년, 월, 일 세팅 → month가 12보다 크거나 0인 경우 → day가 28보다 크거나 0인 경우 3) 오늘 날짜와 비교해서 유효한지 판단 → LocalDateTime 객체 활용 코드 리뷰 import java.util.*; import java.time.*;// LocalDa.. 2024. 3. 19. 순위 검색(Lv.2) 문제 설명 입출력 예시 요약 query에 해당하는 지원자의 수를 담은 int 배열 return 풀이 문제 해석 query[i] 를 만족하는 지원자들을 info에서 찾기 접근 방식 1) info에 있는 지원자 정보를 가지고 모든 경우의 수를 가진 map 구성 → 카테고리: 4개, 선택사항: 2개 이므로 경우의 수는 총 16가지 2) 동일한 조건을 가진 지원자가 존재할 수 있으므로 value는 점수를 담은 ArrayList로 생성 → sort를 통한 오름차순 정렬 3) query[i]가 map의 key로 존재한다면 해당 조건을 만족하는 지원자의 수 구하기 → 효율성 검사를 통과하기 위해서 이분 탐색을 활용 실행 결과 코드 리뷰 import java.util.*; class Solution { public i.. 2024. 3. 18. 가장 많이 받은 선물(Lv.1) 문제설명 입출력 예시 요약 선물을 주고받은 히스토리를 비교해서 조건에 따라 다음달에 선물을 가장 많이 받을 친구가 받을 선물의 개수 구하기 풀이 문제 해석 선물을 받을 경우의 수 구하기 1) 서로 주고 받은 선물을 비교했을 때 더 많이 준 경우 2) 서로 주고 받은 선물 개수가 같다면 선물지수를 비교해서 더 큰 경우 접근 방식 1) 이차원 배열을 생성하고 서로 주고 받은 선물의 개수를 표시한다. → gifts 배열의 요소를 split해서 이름을 index로 바꾼 후 해당 위치에 += 1로 개수 증가 2) 전체 인원에 대해 '내가 준 선물 개수'에서 '내가 받은 선물 개수'를 빼서 선물 지수를 구한다. → 서로 주고 받은 선물 개수가 같은 경우 선물 지수를 비교한다. → 선물 지수 또한 같다면 해당 인원끼.. 2024. 3. 18. VSC 테스트 환경설정(with Java_BAEKJOON) Java 프로젝트 / 패키지 / .java파일 생성 workspace 폴더 생성 원하는 위치에 workspace로 사용할 폴더를 만듭니다. 저는 C:\MyWorkspace\VSC 위치에 Java 라는 폴더를 사용하겠습니다. Java 프로젝트 생성 File → New File → New Java Project로 프로젝트를 생성합니다. build tool은 선택하지 않습니다. 아까 만든 workspace 폴더를 선택하고 프로젝트 이름을 설정합니다. 생성된 프로젝트 모습입니다. Package 생성 src 하위에 '체스판다시칠하기'(백준의 no.1018 문제) 패키지를 만들고 'Main.java' 파일을 추가합니다. App.java는 삭제합니다. VSC에서 문제 풀어보기 * 백준의 no.1018 체스판 다시 칠.. 2024. 3. 13. VSC 테스트 환경설정(with Java_PROGRAMMERS) Java 프로젝트 생성 workspace 폴더 생성 원하는 위치에 workspace로 사용할 폴더를 만듭니다. 저는 C:\MyWorkspace\VSC 위치에 Java 라는 폴더를 사용하겠습니다. Java 프로젝트 생성 File → New File → New Java Project로 프로젝트를 생성합니다. build tool은 선택하지 않습니다. 아까 만든 workspace 폴더를 선택하고 프로젝트 이름을 설정합니다. 생성된 프로젝트 모습입니다. Package 구성 Package 생성 문제들은 패키지를 통해 관리합니다. 아래와 같이 '완주하지못한선수' 패키지를 만들어보겠습니다. src 클릭 → New Folder 클릭 → '완주하지못한선수' 생성 Java 파일 생성 해당 패키지 안에 'Solution.ja.. 2024. 3. 7. 이전 1 2 3 다음