https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 위상 정렬 ⊙ 문제 접근 과정 기본적으로 위상 정렬 알고리즘을 사용한다. 이 문제에서는 순서 입력을 아래와 같이 입력받는데 이 부분만 처리해주면 바로 풀린다. 가수의 수 -> 가수 순서 예를 들어 예제와 같이 3 1 4 3이 들어오면 가수의 수는 3이고 순서는 1 4 3이다. 그래서 나는 이것을 list로..
https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 ⊙ 문제 접근 과정 bfs를 돌려서 그림의 총 개수와 가장 넓은 그림을 찾아내면 된다. bfs를 돌릴 때, 내장 count는 그림의 넓이다. 그 값과 기존에 저장된 큰 그림의 넓이와 비교해서 더 큰 값을 max에 저장해준다. 이때 방문을 했는지 안 했는지 알기 위해 visited 리스트..
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 자료 구조 시뮬레이션 덱 큐 ⊙ 문제 접근 과정 뱀의 머리와 꼬리를 알기 위해서 큐를 사용한다. 아래에 왜 큐를 사용해야 하는지 설명하겠다. 만약 다음 칸에 사과가 있다면 뱀의 길이는 증가한다. 사과가 존재하지 않으면 뱀의 길이는 유지된다. 그렇다는 말은 사과가 존재하면 뱀의 꼬리는 움직이지 않고, 사과가 존재하지 않으면 꼬리는 움직여야 ..
https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 구현 브루트포스 알고리즘 정수론 중국인의 나머지 정리 ⊙ 문제 접근 과정 값이 같을 때까지 무지성으로 1 올려주면 된다. 범위가 넘으면 다시 1로 초기화만 시켜주자 ⊙ 문제 풀이 import sys input = sys.stdin.readline E, S, M = map(int, input().split()) x, y, z = 1, 1,..
https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 시뮬레이션 ⊙ 문제 접근 과정 NxM 지도에 번호가 쓰여있다. 두 가지 규칙만 기억하자 - 만약 지도에 있는 값이 0이면 주사위 바닥면의 값을 지도로 복사 - 지도에 있는 값이 0이 아니라면 지도에 있는 값을 주사위 바닥면으로 복사하고 지도는 0으로 초기화 최종적으로..
https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 조합을 사용해줬다. 문제를 보고 바로 조합을 사용해야겠다고 생각을 했다. 그리고 해당 조합에 대해 count 메서드를 돌려주고 값을 return 해준다. count 메서드는 minimum 변수를 기준으로 돌아간다. 카운팅 된 값이 최종 return 값이다. 그 값을 새로 만든 배열..
https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 ⊙ 문제 접근 과정 먼저 0으로 초기화된 배열을 생성해준다. 그리고 직사각형이 포함된 영역에 대해 1을 더해준다. 그러면 0의 값을 가진 좌표에 대해 bfs를 돌려주면 된다. 마지막으로 결과를 출력해줄때에는 오름차순 정렬을 하여 크기 순으로 차례차례 출력해준다...
https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸의 개수가 한 개 이상인 입력만 주어진다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 브루트포스 알고리즘 너비 우선 탐색 ⊙ 문제 접근 과정 1의 좌표를 큐에 넣어준다. 그리고 8방향에 대해 bfs를 돌려준다. 이때 이동거리를 누적하여 더해준다. 마지막에 가장 큰 안전거리 값을 출력해주면 된다. ⊙ 문제 풀이 import sys from collections impor..
https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 덱 ⊙ 문제 접근 과정 if문을 사용해주면 된다. ⊙ 문제 풀이 from collections import deque import sys N = int(sys.stdin.readline()) q = deque() def empty(): if len(q) == 0: return 1 else: return 0 de..
https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 해싱 ⊙ 문제 접근 과정 아스키코드를 사용하여 문제를 풀면 된다. 순서대로 배열의 값을 불러온 후 자릿수에 따라 31의 제곱수를 결정해준다. 그렇게 계산한 값을 하나의 변수에 차례대로 더해주고 마지막에 퍼센트 연산자를 사용하여 1234567891을 계산하여 출력해주자. ⊙ 문제 풀이 L = int(input()) string = inp..
- Total
- Today
- Yesterday
- 문자열
- Python
- 그리디
- 정답
- 우종정
- 정리
- 연습문제
- 자바스크립트
- 프로그래머스
- CPP
- 쉽게배우는자바프로그래밍
- BFS
- 알고리즘
- 해답
- 구현
- java
- C++
- 정렬
- 쉽게 배우는 자바 프로그래밍
- 쉽게배우는
- 답
- 파이썬
- 운영체제
- 풀이
- 자바
- Web
- JS
- py
- OS
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |