프로그래머스 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)은 다음과..
연결 리스트 - 두 개의 정렬된 리스트 합치기 단순 연결리스트(양방향 또는 원형 등이 아닌 단방향 연결리스트) l1과 l2에 숫자가 오름차순으로 저장되어있을 때, 리스트에 저장된 숫자의 오름차순을 그대로 유지하면서 두 단순 연결 리스트를 하나의 단순 연결리스트로 합친 단순 연결리스트를 반환하라. 문제를 풀기 앞서, 막연하게 생각하지 말고 하나의 예를 들어 어떻게 방향을 잡아야 할지 가늠해봅시다. 단순 연결리스트 l1의 길이는 m(=3), 단순 연결리스트 l2의 길이는 n(=4)라고 가정하겠습니다. 가장 먼저 떠오르는 방법!? 가장 먼저 떠오르는 방법은 단순 연결리스트 l1, l2를 합친 후, 정렬 알고리즘 중 하나를 사용하여 정렬된 단순 연결리스트를 얻는 방법일 것입니다. 두 단순 연결리스트 l1, l2..
프로그래머스 68645번 - 삼각 달팽이 요구사항 1. 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 반환하라. 요구사항 분석 및 풀이과정 위 사진에서 주어진 삼각형(n=4)을 우리가 다루는 이차원 배열의 형태로 시각화해보면 다음과 같습니다. 이렇게 이차원 배열로 시각화한 후, 기존 삼각형에서 반시계 방향으로 달팽이 채우기를 시각화해보겠습니다. 달팽이 채우기를 위해서 칸을 이동하는 방향에 규칙성이 보이시나요? 1번 화살표 방향 -> 2번 화살표 방향 -> 3번 화살표 방향 -> 1번 화살표 방향 -> ... -> 지금은 n = 4 일 때의 삼각형이지만, n에 따라 그려보시면 1번, 2번, 3번..
프로그래머스 12973번 - 짝지어 제거하기 요구사항 1. 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾은 후 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 2. 1번 과정을 반복해서 문자열을 모두 제거할 수 있으면 1을, 아니면 0을 반환하라. 요구사항 분석 및 풀이과정 연속된 문자열을 모두 제거하는 문제이며 전형적인 스택 문제입니다, 올바른 괄호 쌍을 찾을 때 스택을 사용하는 방법과 동일한 방법으로 구현하면 됩니다. 1. 문자열의 첫 문자부터 순회하여 만약 스택이 비었다면 문자를 추가합니다. 2. 스택이 비어있지 않다면 스택의 가장 위의 문자와 현재 문자가 같은지 확인합니다. (같은 알파벳 2개 붙어있는 짝을 확인하는 작업) 3. 같다면 스택의 가장 위의 문자를 제거하고, 현재 문자도 스택에 넣지 ..
- Total
- Today
- Yesterday
- 회고
- dp
- Java
- kotlin
- 코드 스니펫
- set
- 스트림
- 스택
- 코딩인터뷰
- 알고리즘
- 프로그래머스
- 구현
- sql
- 문자열
- 비트연산
- JPA
- Uber
- BFS
- 연결리스트
- 쓰레드
- dfs
- 카카오
- 해쉬
- TDD
- dsu
- 정렬
- 오늘의집
- k8s
- 탐욕법
- 우선순위큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |