| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 코딩테스트사이트추천
- 코드트리
- 코테공부
- 자료구조
- 개발자취업
- til
- Java
- 프로그래밍 언어
- 티스토리챌린지
- 99클럽
- 개발자루틴
- 1일1코테
- 연결 리스트
- 코딩테스트
- 웹
- 프로그래머스
- 파이썬
- 항해99
- 갭체크
- C
- 자바스크립트
- 데이터베이스
- 코딩테스트준비
- 알고리즘
- 인접 행렬
- 플로이드-워셜
- 오블완
- 자바
- #코드트리 #코딩테스트 #코테공부 #백트래킹 #알고리즘 기초
- 운영체제
- Today
- Total
목록2026/03/22 (5)
와드의 블로그
문제H × W 크기의 직사각형 격자 모양의 하늘이 있습니다. 각 구역에는 구름이 있을 수도('c'), 없을 수도('.') 있습니다. 모든 구름은 1분이 지날 때마다 동쪽(오른쪽)으로 1킬로미터씩 이동합니다. 각 구역에 대해 지금부터 몇 분 뒤에 처음으로 구름이 오는지 예측하는 문제입니다.처음부터 구름이 떠 있는 구역은 0분 뒤에 구름이 옵니다.구름이 영영 오지 않는 구역은 -1을 출력합니다.입력: 첫째 줄에 H와 W가 주어지고, 둘째 줄부터 H개의 줄에 하늘의 상태가 주어집니다.출력: 각 구역에 구름이 도달하는 시간을 H개의 줄에 걸쳐 공백으로 구분하여 출력합니다.풀이구름이 동쪽(오른쪽)으로만 이동한다는 점을 활용하여, 각 행(row)을 독립적으로 좌측에서 우측으로 탐색하며 해결할 수 있습니다.결과 배열..
문제종이에서 숫자만 찾아서 비내림차순으로 정렬하는 문제입니다. 글자는 알파벳 소문자와 숫자로만 이루어져 있습니다. 숫자의 앞에 0이 있는 경우에는 생략할 수 있습니다. (예: 01a2b34 -> 1, 2, 34)입력: 첫째 줄에 종이의 줄 수 N (1 ≤ N ≤ 100)이 주어집니다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄에 글자가 주어집니다. (각 줄의 길이는 최대 100)출력: 찾은 숫자를 한 줄에 하나씩 오름차순으로 출력합니다.링크: https://www.acmicpc.net/problem/2870풀이 1: StringBuilder 활용문자열을 한 글자씩 순회하며 숫자인 경우 StringBuilder에 담고, 알파벳을 만나면 처리하는 방식입니다. 숫자 앞에 붙은 0을 제거하기 위해 deleteChar..
문제좋은 패스워드를 만들기 위해 다음 3가지 규칙을 만족하는지 판별하는 프로그램을 작성하는 문제입니다.모음(a, e, i, o, u) 하나를 반드시 포함하여야 합니다.모음이 3개 혹은 자음이 3개 연속으로 오면 안 됩니다.같은 글자가 연속적으로 두 번 오면 안 되나, ee 와 oo는 허용합니다.입력: 각 줄마다 패스워드로 사용할 문자열이 주어집니다. 마지막 줄에는 "end"가 주어집니다.출력: 각 패스워드에 대해 평가 결과를 is acceptable. 또는 is not acceptable. 형태로 출력합니다.풀이: 단일 루프를 통한 O(N) 최적화하나의 반복문 안에서 인덱스(i)를 활용해 문자들을 확인합니다.단일 루프 및 플래그 변수: 패스워드의 적합성을 나타내는 flag를 true로, 모음 포함 여..
문제메시지를 이루는 N개의 숫자가 주어집니다. 이 수열을 빈도수가 높은 순서대로 정렬하여 출력하는 문제입니다. 단, 등장하는 빈도수가 같다면 수열에서 먼저 등장한 숫자가 앞에 와야 합니다.입력:첫째 줄: 메시지의 길이 N과 숫자의 최댓값 C둘째 줄: 수열을 이루는 N개의 정수출력: 조건에 맞게 정렬된 수열링크: https://www.acmicpc.net/problem/2910풀이숫자의 등장 빈도수와 최초 등장 위치(인덱스)라는 두 가지 정보를 저장하고, 이를 기준으로 다중 조건 정렬을 수행하는 문제입니다.빈도수 및 최초 등장 위치 기록: 데이터를 관리하기 위해 두 개의 HashMap을 사용합니다.map1: 각 숫자가 몇 번 등장했는지 빈도수를 누적하여 저장합니다. (getOrDefault 활용)map2:..
문제N칸으로 나누어진 스크린 아래에 M칸을 차지하는 바구니가 있습니다. 처음에 바구니는 왼쪽 끝(1번 칸부터 M번 칸)에 위치해 있습니다. 위에서 사과가 하나씩 떨어지며, 바구니를 좌우로 움직여 모든 사과를 받아야 합니다. 사과가 떨어지는 위치가 순서대로 주어질 때, 모든 사과를 담기 위해 바구니가 이동해야 하는 최소 거리를 구하는 문제입니다.입력:첫째 줄: 스크린의 크기 N과 바구니의 크기 M둘째 줄: 떨어지는 사과의 개수 J셋째 줄부터 J개의 줄: 사과가 떨어지는 위치출력: 바구니의 최소 이동 거리링크: https://www.acmicpc.net/problem/2828풀이바구니가 사과를 받기 위해 필요한 만큼만 최소한으로 이동해야 하는 그리디(Greedy) 문제입니다. 바구니의 왼쪽 끝과 오른쪽 끝 ..