프로그래머스 12981번 - 영어 끝말잇기 요구사항 1. 영어 끝말잇기에서 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락하는지를 배열에 담아 반환하라. 2. 사람의 번호는 1번부터 시작합니다. 요구사항 분석 및 풀이과정 1. 정상적으로 끝말이 이어지는 지를 확인하기 위하여 이전 사람이 말한 영단어의 끝 문자를 기록합니다. 2-1. i번째 사람이 영단어를 말했을 경우 i-1번째 사람이 말한 영단어의 끝 문자와 내가 말한 영단어의 첫 문자가 같은지를 확인합니다. 2-2. 만약 다르다면 탈락이며, 가장 먼저 탈락하는 사람의 번호(i % n + 1), 자신의 몇 번째 차례(i / n + 1)를 배열에 담아 반환합니다. 2-3. 그렇지 않은 경우는 정상적인 끝말잇기이므로 다음 차례로 넘..
프로그래머스 49994번 - 방문 길이 요구사항 1. 좌표평면상 U는 위로 한 칸, D는 아래로 한 칸, L은 왼쪽으로 한 칸, R은 오른쪽으로 한 칸 이동하는 명령어입니다. 2. 캐릭터는 좌표평면의 (0, 0)에서 시작합니다. 3. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래 (5, -5)로 이루어져 있습니다. 4. 단, 좌표평면의 경계를 넘어가는 명령어는 무시합니다. 5. 캐릭터가 지나간 길 중 캐릭터가 처음 걸어본 길의 길이를 반환하라. 요구사항 분석 및 풀이과정 캐릭터가 이미 거쳐 간 길을 제외한 처음 걸어본 길의 길이를 구하여야 합니다. 그런데, 하나의 길을 지나가는 방법은 다음과 같이 총 4가지 방법이 존재합니다. 왼쪽에서 오른쪽 방향..
프로그래머스 17677번 - [1차] 뉴스 클러스터링 요구사항 1. 두 문자열의 자카드 유사도 값에 65536을 곱한 후 소수점 아래를 버린 정수부를 반환하라. 요구사항 분석 및 풀이과정 자카드 유사도를 구하기 위하여 다중집합을 구성하여야 한다. 다중집합은 주어진 문자열을 두 글자씩 끊어 다중집합의 원소로 한다. 단, 영문자로 된 글자 쌍만 유효하며, 기타 공백이나 숫자, 특수 문자가 들어있는 경우에는 그 글자 쌍을 버리며 대소문자는 구별하지 않는다. 자카드 유사도는 두 다중집합 A, B에 대하여 (교집합의 원소의 수 / 합집합의 원소의 수)로 정의되며, 만약 두 다중집합 A, B가 모두 공집합일 경우 자카드 유사도는 1로 정의한다. 자카드 유사도 다중집합 A, B에 대하여 합집합(A or B)은 다음과..
프로그래머스 42577번 - 전화번호 목록 요구사항 1. 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있으면 false, 그렇지 않으면 true를 반환하라. 요구사항 분석 및 풀이과정 1. 보는 관점을 바꾸면 풀이가 쉬워진다. 한 번호가 다른 번호의 접두어인 경우가 있는가 한 번호의 접두어가 될 수 있는 문자열 중 전화번호부에 있는 번호가 있는가 2. 전화번호부에 특정 번호가 있는지 빠르게 확인하기 위하여 전화번호부를 Set(HashSet)을 이용하여 만들어줍니다. 3. 전화번호부에 등록된 번호를 순회하면서 해당 번호의 모든 접두어에 대하여 전화번호부에 있는 번호인지를 검사합니다. 그림으로 살펴보면 다음과 같습니다. 전화번호부는 ["12", "123", "1235"]라고 해보겠..
프로그래머스 77484번 - 로또의 최고 순위와 최저 순위 요구사항 1. 구매한 로또 번호 중 일부를 알아볼 수 없게 되었습니다. 알아볼 수 없는 번호를 0으로 표기합니다. 2. 알아볼 수 없는 번호가 당첨 로또 번호 일수도 아닐 수도 있습니다. 3. 로또 당첨 번호와 비교하여 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 반환하라. 요구사항 분석 및 풀이과정 1. 구매한 로또 번호 중 알아볼 수 없는 번호를 제외하고 Set에 추가합니다. - Set에 추가하는 이유는 탐색이 평균적으로 O(1)에 수행되기 때문입니다. 2. 당첨 번호가 구매한 로또 번호 중 있는지를 확인하고 있을 경우 일치한 번호 수(collect)를 증가합니다. 3. 당첨 가능한 최고 순위는 (2번에서 구한 일치한 번호 수..
- Total
- Today
- Yesterday
- 구현
- dp
- dfs
- BFS
- 우선순위큐
- Uber
- 해쉬
- TDD
- 코드 스니펫
- 문자열
- Java
- k8s
- 알고리즘
- 정렬
- 회고
- kotlin
- 스택
- 연결리스트
- dsu
- 오늘의집
- sql
- 카카오
- JPA
- 프로그래머스
- set
- 스트림
- 쓰레드
- 코딩인터뷰
- 비트연산
- 탐욕법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |