https://www.acmicpc.net/problem/2407 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net C++로 처음에 풀었었는데, 잘 작동을 하는 것 같았다. 하지만 결과는 "틀렸습니다".. 질문을 검색하다 보니.. C(100 , 50)인 100891344545564193334812497256로 약 10^29 정도의 수인데, 이 수를 제대로 출력을 못해주고 있었다. C++로 해결하는 방법은 gcc에서 제공해주는 __uint128_t이라는 unsigned 정수 자료형을 사용해야 한다. 잘 모르겠어서, 파이썬으로 풀었다. C++로 해결하는 방법은 참고한 링크를 첨부하겠다. https://ethical-hack.tis..
https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net #include #include using namespace std; int N; int Map[4][4]; bool isVisited[4][4]; int dy[2] = {0, -1}; int dx[2] = {1, 0}; void bfs() { queue Q; Q.push(make_pair(0,0)); isVisited[0][0] = true; while(!Q.empty()) { int y = Q.f..
https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net import sys N, M = map(int, input().split()) arr = list(map(int, sys.stdin.readline().split())) arr.sort() ans = [] isVisited = [False] * N def dfs(depth): if len(ans) == M: print(*ans) return for i in range(depth, N): ..
https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net # 순차 탐색은 시간 초과 -> 이진 탐색 사용하기 import sys N = int(sys.stdin.readline().rstrip()) card = list(map(int, sys.stdin.readline().split())) M = int(sys.stdin.readline().rstrip()) check = list(map(int, sys.stdin.read..
https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 시간 초과가 나서 해결할 방법을 찾다가 매개변수 탐색이라는 개념을 알게 되었다. https://kosaf04pyh.tistory.com/95 import sys N, M = map(int, sys.stdin.readline().split()) tree = list(map(int, sys.stdin.readline().split())) start = 0 end..
https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net N = list(input()) N.sort(reverse=True) sum = 0 for i in N: sum += int(i) if sum % 3 != 0 or '0' not in N: print(-1) else: print(''.join(N))
https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net #include using namespace std; int W[101][101] = {0, }; int main() { int N, k, i, j; cin >> N; for(i=1; i W[i][j]; } } //Floyd-Warshall for(k=1; k
- Total
- Today
- Yesterday
- 1358
- 11051
- 조합
- dp
- 스택
- 싸피
- 백트래킹
- 1764
- 10815
- 빌림
- 2805
- 덱
- 10971
- heapq
- 17478
- 프로그래머스
- 1715
- 백준
- 1759
- 10845
- 큐
- 브루트포스
- 러스트
- 수학
- 10816
- 1182
- 딕셔너리
- 파이썬
- 자료구조
- 삼성청년소프트웨어아카데미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |