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..
https://www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 사칙연산 ⊙ 문제 접근 과정 배열에 햄버거 값을 저장해주고 drink 변수를 사용하여 min 값을 비교한다. 비교 시 더 작은 값을 경신시켜주어 결과를 출력해주면 된다. ⊙ 문제 풀이 import sys input = sys.stdin.readline hamburger = [] for _ in range(3): hamburger.appen..
https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 ⊙ 문제 접근 과정 정렬 문제다. 값을 입력받고, 배열에 저장해 주자. 그리고 sort함수를 사용하되 lambda를 이용하여 y좌표 기준으로 오름차순 정렬을 진행하자. 그리고 두 번째 조건으로 y좌표가 같다면 x좌표를 기준으로 오름차순 정렬을 해주는 코드를 작성하면 된다. 마..
https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 사칙연산 ⊙ 문제 접근 과정 시간제한이 0.35초이다. 그리고 범위는 21억 이하의 자연수. 무조건 식을 세워서 풀어야 한다. B가 C보다 더 크면 만들수록 적자이다. 따라서 -1을 출력. 나머지는 C-B와 A를 나눈 몫 + 1 을 출력. ⊙ 문제 풀이 A, B, C = map(int, input().split()) if B>=C: pr..
https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 플로이드-와샬 ⊙ 문제 접근 과정 플로이드 와샬 알고리즘은 모든 정점에 대한 경로를 계산하는 알고리즘이다. 플로이드 와샬 알고리즘을 사용하여 어느 한 곳에 들려 다른 곳으로 가는 길이 존재한다면 그 값을 체킹해준다. 그리고 그 그래프를 출력하면 된다. ⊙ 문제 풀이 import sys input = sys.stdin.readline N = int(input()) gr..
https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 최소 스패닝 트리 ⊙ 문제 접근 과정 문제를 보면 최소 스패닝 트리, MST 문제이다. 유지비를 최소로 길을 전부 터야 한다. 길을 입력받고 오름차순으로 정렬한다. 오름차순 정렬 후, 최소 스패닝 트리를 돌려준다. 부모가 다르면 값을 비교 후 작은 값이면 연결시켜 갱신, 같으면 패스한다...
https://www.acmicpc.net/problem/2887 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 정렬 최소 스패닝 트리 ⊙ 문제 접근 과정 먼저 사용자에게 입력받은 3차원 행성 좌표를 저장한다. 그리고 그 값들을 토대로 행성 사이의 거리를 각각 구해주고 크루스칼 알고리즘을 사용한다. 크루스칼 알고리즘을 사용하면 최소 스패닝 트리를 구할 수 있다. 최소 스패닝 트리란 신장 트리 중에서도 최..
https://www.acmicpc.net/problem/9252 9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 다이나믹 프로그래밍 ⊙ 문제 접근 과정 2차원 배열을 사용하여 문제를 풀었다. 각 문자의 길이만큼 배열을 만들어주고, 규칙성을 찾아내어 정보를 담아준다. i for문과 j for문을 사용해 두 문자열을 비교해주는데 일치하면 dp [i][j] = dp [i - 1][j - 1] + 문자 저장..
- Total
- Today
- Yesterday
- 우종정
- 해답
- 구현
- 쉽게배우는
- 쉽게 배우는 자바 프로그래밍
- 정리
- 자바
- java
- 정렬
- OS
- 파이썬
- 알고리즘
- 연습문제
- 답
- 풀이
- 프로그래머스
- py
- 쉽게배우는자바프로그래밍
- CPP
- 정답
- BFS
- Web
- 운영체제
- 백준
- 자바스크립트
- Python
- JS
- 그리디
- 문자열
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |