문제 링크 전화번호 목록 문제 조건 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인해야 한다. phone_book의 길이는 1 이상 1,000,000 이하이다. 각 전화번호의 길이는 1 이상 20 이하이다. 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 한다. 변수 설명 매개변수 phone_book : 전화번호들이 담긴 배열 len : phone_book 배열의 길이 코드 설명 이중 for문을 통해 phone_book 안에 있는 요소들을 비교해줘야 한다. 이 때, startsWith 메서드를 사용하여 phoen_book[i]가 phone_book[j]의 접두어인지 검사해야 한다. 물론 phone_book[j]가 pho..
문제 링크 완주하지 못한 선수 문제 조건 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 변수 설명 매개변수 participant : 마라톤 참여한선수들의 이름이 담긴 배열 completion : 완주한 선수들의 이름이 담긴 배열 hm : 완주하지 못한 선수를 찾기 위한 HashMap 코드 설명 for(String part : participant) hm.put(part, hm.getOrDefault(part, 0) + 1); participant를 HashMap, hm에 넣어줍니다.(..
문제 링크 기능 개발 문제 조건 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있다. 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포된다. 작업의 개수(progresses, speeds배열의 길이)는 100개 이하이다. 작업 진도는 100 미만의 자연수이다. 작업 속도는 100 이하의 자연수이다. 배포는 하루에 한 번만 할 수 있으며, 하루의 끝에 이루어진다고 가정한다. 예를 들어 진도율이 95%인 작업의 개발 속도가 하루에 4%라면 배포는 2일 뒤에 이루어진다. 변수 설명 Top : 매개변수 heights의 idx(Index), height(높이)를 멤버 변수로 갖는다. ln : 매개변수 heights의 길이 st : class Top을 타..
문제 링크 베스트앨범 문제 조건 속한 노래가 많이 재생된 장르를 먼저 수록한다. 장르 내에서 많이 재생된 노래를 먼저 수록한다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록한다. 변수 설명 매개변수 genres : 노래의 장르를 나타내는 문자열 배열 plays : 노래별 재생 횟수를 나타내는 정수 배열 Song : 고유 번호(idx)와 재생 횟수(plays)를 가진 클래스 rankHash : 장르의 순위 결정을 위한 HashMap pq : 장르 순위 판별을 위한 우선순위 큐 songRank : 각 장르별 음악 1, 2위 코드 설명 30~42줄 재생 횟수(plays) 큰 것이 더 크도록, 재생 횟수가 같다면 순서(idx)를 비교하여 더 낮은 것이 더 크도록 설정 ..
문제 링크 위장 문제 조건 스파이들은 위장을 위해 매일 다른 옷을 조합하여 자신을 위장한다. 스파이가 가진 의상의 수는 1개 이상 30개 이하이다. 같은 이름을 가진 의상은 존재하지 않는다. clothes의 모든 원소는 문자열로 이루어져 있다. 모든 문자열의 길이는 1 이상 20 이하인 자연수이고 알파벳 소문자 또는 _ 로만 이루어져 있다. 스파이는 하루에 최소 한 개의 의상은 입어야 한다. 변수 설명 clothes : 각 행이 [의상의 이름, 의상의 종류]로 이루어져 있는 2차원 배열 (매개변수) hm : 의상 종류별 개수를 확인하기 위한 HashMap len : clothes의 길이 value : hm의 value들, 즉 의상 종류별 개수 코드 설명 경우의 수를 구하는 문제이다. clothes에 있는..
문제 출처 계단 오르기 문제 요약 계단 오르는 데는 다음과 같은 규칙이 있다. 1.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 2.연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다. 따라서 첫 번째 계단을 밟고 이어 두 번째 계단이나, 세 번째 계단으로 오를 수 있다. 하지만, 첫 번째 계단을 밟고 이어 네 번째 계단으로 올라가거나, 첫 번째, 두 번째, 세 번째 계단을 연속해서 모두 밟을 수는 없다. 첫 번째 접근 n-3까지만 구하고 n-2 n-1 n을 따로 더해주려고 했다. memo[1] = input[1]; memo[2] = input[1] + input[2]; for (int i = 3; i input[n ..
문제 요약 빙고 문제 설명 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 빙고판에 쓰여진 수와 사회자가 부르는 수는 각각 1부터 25까지의 수가 한 번씩 사용된다. 첫째 줄에 사회자가 몇 번째 수를 부른 후 철수가 "빙고"를 외치게 되는지 출력한다. 함수 설명 solve : 사회가 부르는 수를 0으로 바꿔주는 함수 Bingo : table에 bingo 개수를 리턴해주는 함수 문제 해답 #include using namespace std; const int SIZE = 5; int table[SIZE][SIZE]; b..
문제 링크 숫자의 개수 문제 요약 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 함수 설명 TheNumber : 0~9의 개수를 출력해주는 함수 코드 설명 A, B, C의 곱의 결과에서 숫자의 개수를 출력해준다. 문제 해답 #pragma warning(disable: 4996) #include using namespace std; #define N 10 int arr[N]..
- Total
- Today
- Yesterday
- Effective Java
- 프로그래머스
- 이팩티브 자바
- 디자인 패턴
- 클린 코드
- programmers
- C++
- 코테
- Java
- kkoon9
- MSA
- 테라폼
- kotest
- 객체지향
- node.js
- 백준
- BAEKJOON
- 클린 아키텍처
- AWS
- 정규표현식
- 알고리즘
- JPA
- Kotlin
- Algorithm
- BOJ
- 이펙티브 자바
- Spring
- 디자인패턴
- Olympiad
- Spring Boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |