problem 문제 링크: https://www.acmicpc.net/problem/1094 입력: n 출력: 막대기를 자르는 횟수 solution 문제 해석 길이64의 막대 -> 이진수 범위 00000 나누고 버리고 -> 버릴때 1을 표시 즉 입력값을 이진수로 변환하는 문제다. code x = int(input()) ans = 0 bof2 = [] while x > 0: if x % 2 == 1: bof2.append(1) else: bof2.append(0) x = x // 2 bof2.reverse() print(bof2.count(1))
problem 문제링크 : https://www.acmicpc.net/problem/1916 입력: 도시의 개수 N, 버스의 개수 M, 버스의 정보(출발지, 도착지, 비용), 출발지점, 도착지점 출력: 출발지점에서 도착지점까지의 최소비용 solution 1753번에서 사용한 다익스트라 알고리즘으로 출발 지점부터 모든 정점까지의 거리를 배열에 담은 뒤 배열의 (도착지점-1) 을 출력한다. #include #include #include #define inf 987654321 using namespace std; vector atob; vectord; void dijkstra(int start) { d[start] = 0; priority_queue q; q.push(make_pair(0, start)); ..
problem 문제 링크 : https://www.acmicpc.net/problem/1753 입력 : 정점의 개수, 간선의 개수, 단방향 그래프 출력 : i 번째 줄에 i번 정점으로 최단 경로의 경로값을 출력한다. 시작점 자신은 0으로 출력하고, 경로가 존재하지 않는 경우에는 INF 를 출력한다. solution 다익스트라 알고리즘을 통해 각 정점까지의 거리를 구하고 출력한다. code #include #include #include #include #define INF 200005 using namespace std; vector node; vectord; void dijkstra(int start) { d[start] = 0; priority_queue q; q.push(make_pair(0, st..
problem A, B, C, A+B, A+C, B+C, A+B+C 가 순서 없이 주어질때 A, B, C 를 구하시오. (1 ≤ A ≤ B ≤ C ≤ 10^9) solution A ≤ B ≤ (C, A+B ≤ (A+C, B+C, A+B+C)) 이므로 정렬을 했을때 가장 작은 수는 A, 두번째로 작은 수는 B 이다. A+B 가 세번째 수일때는 네번째 수가 C 이고 아니면 세번째 수가 C 이다. abc = list(map(int, input().split())) abc.sort() a = abc[0] b = abc[1] c = abc[3] if a + b == abc[2] else abc[2] print(a, b, c)
- Total
- Today
- Yesterday
- math
- 👼
- openCV
- 꿀따기
- 파이썬
- 더하기
- 넓이
- web
- programmers
- 4
- 피보나치
- FIBO
- c++
- HackCTF
- 다익스트라
- 스택
- 백준
- 1
- 괄호
- 21758
- boj
- 프로그레머스
- 나머지
- 2
- 직업군 추천
- python
- 쇠막대기
- forensic
- 카카오 2021 블라인드 테스트
- 7567
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |