https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 1. 접근 방식 행 한 줄씩 접근하여 빈 블록의 개수를 세자. 문제에 제시된 그림으로 예시를 들 때, 1번 열에 있는 블록의 높이가 3이고, 다음으로 높이가 3 이상인 열은 4번 열이므로 1번과 4번 열 사이인 2번 열의 블록 높이는 1이니까 빈 칸은 3 -1 = 2개이고, 3번 열의 블록 높이는 2이니까 빈 칸은 3 - 1 = 1개이니까 3개의 빈 공간에 빗물이 쌓이겠네... ..
https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 접근 방식 입국 심사를 시작하는 시간이 아니라, 끝나는 시간을 기준으로 생각하자 처음에 시작할 때는 0분이고, 모든 심사관이 비어 있으므로 한꺼번에 사람이 들어갈 수도 있고 더 빨리 끝나는 사람 뒤에 기다릴 수도 있다. 예를 들어 입국 심사에 1분 걸리는 심사관과 10분 걸리는 심사관이 있고, 심사 받을 사람이 5명이라면 5명 모두 1분 걸리는 심사관 쪽에 줄을 설 테다. 이걸 코드로 작성하..
https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 1. 접근 방식 한 줄씩 입력 받을 때마다 1번째 ~ N번째 큰 수를 갱신하자 1번부터 N번째 큰 수를 담는 리스트를 사용한다. 위 그림에선 노란 리스트이다. 회색 리스트는 매번 입력 받는 숫자들이다. 노란 리스트는 회색 리스트의 숫자들이 추가될 때마다 갱신된다. 현재 노란색 리스트에 있는 숫자들과 회색 리스트에 있는 숫자들을 내림차순 정렬하고, 인덱스 0에서 (N - 1)까지 잘라서 노란 리스트에 담기..
https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 접근 방식 계수 정렬(Count Sort)를 이용하자 인용 횟수가 동일한 논문이 있을 것이다. 따라서 인용 횟수가 인덱스고, 그 수만큼 인용된 논문의 개수를 값으로 하는 리스트를 활용하도록 하자. 위 리스트를 뒤에서부터 접근함으로써 높은 논문 인용 횟수에서 그 횟수를 하나씩하나씩 줄여나가자. 만약 현재 인용 횟수보다 논문의 개수가 적다면 인용 횟수를 하나 더 줄이고, 논문 개수보다 많거나 같..