프로그래머스 12909번 - 올바른 괄호 요구사항 1. '(' 문자로 괄호가 열렸으면 반드시 짝지어서 ')' 문자로 괄호가 닫혀야 한다. 2. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때 올바른 괄호인지를 반환하라. 3. 올바른 괄호인 경우 true, 잘못된 괄호인 경우 false 요구사항 분석 및 풀이과정 1. 문자열의 문자 배열을 순회하여 '('를 만나면 스택에 넣는다. - ')'이 나타나면 짝을 맞춰 삭제해주기 위해서 보관합니다. 2-1. ')'를 만나면 스택의 가장 위의 원소가 '('이면 정상적으로 짝이 맞으므로 삭제하여준다. 2-2. 만약 스택이 비었거나, 가장 위의 원소가 '('이 아니라면 짝이 맞지 않는 잘못된 괄호 문자열(false)이다. 3. 또한 모든 작업을 마쳤는데 스택..
프로그래머스 42840번 - 모의고사 요구사항 1. 수포자 삼인방 중 가장 많은 문제를 맞힌 사람이 누구인지 반환하라. 2. 1번 수포자는 1번, 2번, 3번, 4번, 5번 순으로 반복하여 답을 찍는다. 3. 2번 수포자는 2번, 1번, 2번, 3번, 2번, 4번, 2번, 5번 순으로 반복하여 답을 찍는다. 4. 3번 수포자는 3번, 3번, 1번, 1번, 1번, 2번, 2번, 4번, 4번, 5번, 5번 순으로 반복하여 답을 찍는다. 요구사항 분석 및 풀이과정 1. 각 수포자는 일정한 패턴으로 반복하여 답을 찍기때문에, 패턴의 길이와 나머지 연산을 통하여 i번째 찍는 답을 알아내면 된다. 2. 각 수포자가 맞힌 문제의 수를 구한 후 가장 많이 맞춘 사람을 반환한다. 소스코드 작성 import java.ut..
프로그래머스 42587번 - 프린터 요구사항 1. 주어진 문서를 다음과 같은 방식으로 작업을 수행합니다. 2-1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼낸다. 2-2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣는다. 2-3. 그렇지 않으면 J를 인쇄합니다. 3. 위의 방식대로 출력할 때 내가 인쇄를 요청한 문서(위치 : location)가 몇 번째로 인쇄되는지를 반환하라. 요구사항 분석 및 풀이과정 1. 우선순위가 높은 문서가 먼저 출력하는 건 맞지만, 인쇄 요청된 기존 문서의 순서는 유지하여야 하므로 큐를 사용하여야 한다. 2. 그 이외는 정직하게 주어진 작업 방식을 그대로 구현하면 된다. 너무 간단하다. 3. 단, ..
프로그래머스 42586번 - 기능개발 요구사항 1. 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 경우 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포할 수 있습니다. 2. 각 작업의 진도와 작업 속도가 주어지며, 작업의 진도가 100%가 되면 배포가 가능합니다. 2. 각 배포마다 몇 개의 기능이 배포되는지 반환하라. 요구사항 분석 및 풀이과정 1. 중요한 점은 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발되더라도, 앞의 기능이 배포되지 않으면 기다려야 한다는 점입니다. 2. 작업의 진도와 속도를 이용하여 각 작업에 며칠이 소요되는지를 큐에 담습니다. 3. 큐에서 앞의 기능을 하나 꺼낸 후, 앞의 기능이 완료될 때까지 걸리는 소요시간보다 적게 걸리는 기능을 찾습니다. 3-1. 찾는 이유는 ..
프로그래머스 12949번 - 행렬의 곱셈 요구사항 1. 두 2차원 행렬 arr1과 arr2를 곱한 행렬을 반환하라. 요구사항 분석 및 풀이과정 1. 행렬 arr1 은 m by n, 행렬 arr2는 n by l이라고 할 때 두 2차원 행렬을 곱한 행렬은 m by l이다. 2. 두 행렬을 곱한 행렬을 result라고 하면 result의 각 원소는 다음과 같다. result[row][col] = sum(arr1[row][k] * arr2[k][col]) ( 1
- Total
- Today
- Yesterday
- 우선순위큐
- 문자열
- 코딩인터뷰
- 비트연산
- dfs
- JPA
- Uber
- kotlin
- 카카오
- 스트림
- 쓰레드
- dsu
- sql
- 해쉬
- 알고리즘
- 정렬
- 회고
- dp
- k8s
- 탐욕법
- 코드 스니펫
- 스택
- 프로그래머스
- BFS
- set
- TDD
- 연결리스트
- 구현
- 오늘의집
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |