
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..

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://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr ⊙ 문제 ⊙ 제한사항 ⊙ 입출력 예 ⊙ 입출력 예 설명 ⊙ 문제 접근 과정 첫 번째로 작은 값과 두 번째로 작은 값*2을 더하여 K이상으로 변경해야 한다. 배열에서 작은 값을 찾기 위해 힙큐를 이용하여 문제를 풀었다. 가장 먼저 scoville 배열을 heapq의 heapify 함수를 이용하여 힙큐로 변경해준다. 그리고 pop을 해준다. 가장 작은 ..

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/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차원 행성 좌표를 저장한다. 그리고 그 값들을 토대로 행성 사이의 거리를 각각 구해주고 크루스칼 알고리즘을 사용한다. 크루스칼 알고리즘을 사용하면 최소 스패닝 트리를 구할 수 있다. 최소 스패닝 트리란 신장 트리 중에서도 최..
- Total
- Today
- Yesterday
- C++
- Python
- 연습문제
- py
- 알고리즘
- 프로그래머스
- 구현
- 자바
- 해답
- 쉽게배우는자바프로그래밍
- Web
- 백준
- 문자열
- 쉽게배우는
- 답
- 우종정
- JS
- CPP
- 정리
- 자바스크립트
- 그리디
- OS
- 운영체제
- java
- 정답
- 파이썬
- 쉽게 배우는 자바 프로그래밍
- BFS
- 풀이
- 정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |