문제 링크 전화번호 목록 문제 조건 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인해야 한다. 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에 넣어줍니다.(..
문제 링크 주식가격 문제 조건 가격이 떨어지지 않은 기간이 몇 초인지 return하는 문제입니다. prices의 각 가격은 1 ~ 10,000 이하의 자연수입니다. prices의 길이는 2 ~ 100,000 이하입니다. 변수 설명 prices : 초 단위로 기록된 주식가격이 담긴 배열 (매개변수) Stock : idx(index)와 price(가격)을 가지는 class st : Stock 클래스를 가지는 스택 len : 매개변수 prices의 길이 코드 설명 [1] if (st.empty()) { st.push(new Stock(i, prices[i])); continue; } st이 비어있으면 i와 그 i에 해당하는 prices[i]를 st에 push해줍니다. [2] while(!st.isEmpty()..
문제 링크 기능 개발 문제 조건 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있다. 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포된다. 작업의 개수(progresses, speeds배열의 길이)는 100개 이하이다. 작업 진도는 100 미만의 자연수이다. 작업 속도는 100 이하의 자연수이다. 배포는 하루에 한 번만 할 수 있으며, 하루의 끝에 이루어진다고 가정한다. 예를 들어 진도율이 95%인 작업의 개발 속도가 하루에 4%라면 배포는 2일 뒤에 이루어진다. 변수 설명 Top : 매개변수 heights의 idx(Index), height(높이)를 멤버 변수로 갖는다. ln : 매개변수 heights의 길이 st : class Top을 타..
문제 링크 탑 문제 조건 heights는 길이 2 이상 100 이하인 정수 배열이다. 모든 탑의 높이는 1 이상 100 이하이다. 신호를 수신하는 탑이 없으면 0으로 표시한다. 변수 설명 Top : 매개변수 heights의 idx(Index), height(높이)를 멤버 변수로 갖는다. ln : 매개변수 heights의 길이 st : class Top을 타입으로 하는 스택 코드 설명 맨 오른쪽 index 탑을 기준으로 잡는다. 스택이 비어있으면 기준 index를 push해준다. 스택이 비어있지않으면 스택에 있는 탑과 비교해준다. 스택에 있는 탑보다 기준 탑이 더 크다면 pop해준 뒤 answer에 탑의 위치를 넣어준다. 배운 점 java.lang.ArrayIndexOutOfBoundsException (..
문제 링크 H-Index 문제 조건 H-Index는 과학자의 생산성과 영향력을 나타내는 지표이다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 한다. 과학자가 발표한 논문 n 편 중, h 번 이상 인용된 논문이 h 편 이상이고 나머지 논문이 h번 이하 인용되었다면 h가 H-Index이다. 과학자가 발표한 논문의 수는 1 ~ 1,000 이다. 논문별 인용 횟수는 0 ~ 10,000 이다. 변수 설명 매개변수 citations : 각 논문의 인용 횟수를 가지는 배열 h : 인용 횟수 len : citations의 크기 answer : H-Index 코드 설명 citations을 정렬해준다. Arrays.sort() 이용 citations의 각 원소가 len - i보다 크거나 같으면 H-In..
문제 링크 가장 큰 수 문제 조건 0 또는 양수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아낸다. numbers의 길이는 1 ~ 100,000 이하이다. numbers의 원소는 0 ~ 1,000 이하이다. 문자열로 return 한다. 변수 설명 매개변수 numbers : 0 또는 양의 정수가 담긴 배열 str : numbers 크기를 갖는 String 배열 testcase11 : numbers 원소가 모두 0일 때 true 코드 설명 str을 정렬할 때 o1+o2 와 o2+o1을 비교해서 정렬해준다. 모두 0 일 때에는 0이 출력되어야 한다. 배운 점 compareTo A와 B가 같으면 : 0 A가 B보다 크면 : 양수 A가 B보다 작으면 : 음수 Integer.toString(i..
문제 링크 K번째 수 문제 조건 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째 수를 구한다. array의 길이는 1 이상 100 이하이다. array의 각 원소는 1 이상 100 이하이다. commands의 길이는 1 이상 50 이하이다. commands의 각 원소는 길이가 3이다. 변수 설명 array : 원본 배열 (매개변수) commands : [i, j, k]를 원소로 가진 2차원 배열 (매개변수) Number : i, j, k를 가진 클래스 num : 해당 인덱스를 가지는 Number 변수 temp : array에서 i번째 숫자부터 j번째 숫자를 가지는 Integer 배열 코드 설명 class Number { public int i; public int j; pu..
- Total
- Today
- Yesterday
- 이펙티브 자바
- Spring Boot
- node.js
- 백준
- Algorithm
- C++
- 테라폼
- 객체지향
- AWS
- 클린 코드
- Java
- kkoon9
- Spring
- Kotlin
- JPA
- programmers
- 디자인패턴
- 이팩티브 자바
- 알고리즘
- Olympiad
- Effective Java
- 코테
- 프로그래머스
- BOJ
- 정규표현식
- BAEKJOON
- kotest
- 클린 아키텍처
- MSA
- 디자인 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |