https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 자료 구조 스택 ⊙ 문제 접근 과정 크기 비교만 해주면 된다. 역으로 해서 나보다 크기가 크면 갱신해주고, count를 세주자. count의 초기값은 1이다. 맨 앞에 있는 건 무조건 보이기 때문이다. ⊙ 문제 풀이 import sys input = sys.stdin.readline N = int(input()) stack = [] fo..
https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 브루트포스 알고리즘 ⊙ 문제 접근 과정 사실 브론즈 문제 치고 좀 어려웠다. list(map(int, str(i)))를 생각하기가 어려웠다. 파이썬에선 str함수만 생각한다면 쉽긴 하다. 본인 숫자와 str함수를 이용해 각 자리수의 합을 N과 비교하여 값을 찾아가면 된다. 브루트포스 알고리즘이니 범위는 1부터..
https://www.acmicpc.net/problem/11758 11758번: CCW 첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 기하학 ⊙ 문제 접근 과정 외적으로 풀면 된다!! p1, p2, p3의 좌표를 입력받고 각각 교차해서 곱해줘서 다 더하고 그 값끼리 빼주면 된다. 그 값이 양수면 1, 음수면 -1, 같다면 0 출력 ⊙ 문제 풀이 arr = [list(map(int, input().spl..
https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 세그먼트 트리 분할 정복 스택 ⊙ 문제 접근 과정 왼쪽부터 차례대로 검색해준다. 스택에 최솟값을 넣어주고 그 값이랑 비교했을 때, pop을 하며 최댓값을 찾아가면 된다. 고민하다가 코드로 구현이 힘들어 인터넷을 활용한 문제다. ⊙ 문제 풀이 from collections..
https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 자료 구조 큐 ⊙ 문제 접근 과정 우선 큐를 하나 만들어주어 거기에 1부터 N까지 수를 넣어준다. 그리고 입력받은 K가 되기 전까지 요소를 빼서 뒤로 넘겨주고, K가 되면 K를 result 배열에 넣어준다. 그렇게 q가 빌 때까지 반복한다. 그리고 형식에 맞추어서 출력만 해주면 된다. ⊙ 문제 풀이 from collections import deque N, K = map(int, input().split()) q =..
https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그래프 이론 그래프 탐색 깊이 우선 탐색 ⊙ 문제 접근 과정 자기 자신을 선택하면 혼자 팀을 구성할 수 있고, 원을 이루어 모든 사람이 선택되면 모든 학생들이 동일한 팀을 꾸릴 수 있다. 즉, 조건은 사이클이다. 사이클이 생기면 팀이 생기는데 사이클 판별을 dfs로 해주었다. ⊙ 문제 풀이 import sys sys.setrecursionli..
https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 그래프 이론 그래프 탐색 너비 우선 탐색 ⊙ 문제 접근 과정 빨간 구슬의 좌표와 파란 구슬의 좌표를 담을 변수를 설정해준다. 그리고 현재 빨간 구슬의 좌표와 파란 구슬의 좌표를 찾아내어 변수에 저장해주고 큐에 추가한다. 그리고 bfs를 돌려준다. 10번 이상으로 움직였을 시는 멈추고..
https://www.acmicpc.net/problem/2166 2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 기하학 다각형의 넓이 ⊙ 문제 접근 과정 학창 시절 수학 시간에 배웠던 '신발끈 공식' 신발끈 공식을 사용하면 바로 풀 수 있다. 🔎 신발끈 공식이란? 적색 화살표가 지나는 원소들의 곱의 합에서 한 청색 화살표가 지나는 원소들의 곱이 합을 빼어 절댓값을 취하면 된다. 사진에 보면 x는 x좌표이고 y는 y좌표를 말한다. 한 가지 주의해야 할 점은 마지막에 첫 번째 ..
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/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으로 초기화 최종적으로..
- Total
- Today
- Yesterday
- Web
- 쉽게 배우는 자바 프로그래밍
- JS
- 정답
- java
- 우종정
- 구현
- 풀이
- 알고리즘
- 백준
- 정렬
- 연습문제
- 쉽게배우는자바프로그래밍
- py
- 문자열
- Python
- BFS
- 그리디
- 정리
- OS
- 파이썬
- 자바
- 답
- CPP
- 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 |