오랜만에 백준을 풀었다. 스트릭이 끊긴 이후로 안 풀다가 코테 준비도 해야하고 PS는 꾸준히 하는 게 좋을 것 같아서 다시 시작하였다. 파이팅 ^ㅁ^ https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 허나 웬 걸.. Recursion Error가 떴고 코드 위에 아래의 코드를 추가하여 재귀의 깊이를 더 깊게 만들어주었다. 그러니 Recursion Error가 발생하지는 않았..
https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(dirs): x, y = 0, 0 dir = {'U':(0, 1), 'D':(0, -1), 'R':(1, 0), 'L':(-1, 0)} answer = 0 path = [] for i in dirs: nx = x + dir[i][0] ny = y + dir[i][1] if -5
https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import math def lcm(a, b): return (a * b) // math.gcd(a,b) def solution(arr): answer = arr[0] for i in range(1, len(arr)): answer = lcm(answer, arr[i]) return answer math library에 lcm 함수를 지원하는 줄 알았는데 없었다..? 그래서 내가 만들어줬음 arr..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 from collections import deque def solution(n, edge): graph = [[] for _ in range(n+1)] answer = [0] * (n+1) for i in range(len(edge)): a = edge[i][0] b = edge[i][1] graph[a].append(b) graph[b].append(a) Q = deque() Q.append(1) answer[1] = 1 while Q: node = Q.popleft() for g in graph[node]: if answer[g] == 0: Q.append(g) answer[g] = a..
https://school.programmers.co.kr/learn/courses/30/lessons/12911 def solution(n): answer = n+1 while True: if bin(n)[2:].count('1') == bin(answer)[2:].count('1'): return answer else: answer += 1 매우 매우 쉬운 문제이다. 파이썬은 10진수를 2진수로 변환해주는 함수(bin)이 있기 때문에, 이를 사용한다면 간단히 해결할 수 있다. while 문을 돌며 answer의 적절한 값을 찾을 때 까지 1을 증가시키는 방법으로 해결하였다.
https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net N = int(input()) arr = [] for i in range(N): name, korean, english, math = list(map(str, input().split())) arr.append([name, int(korean), int(english), int(math)]) arr.sort(key = lambda x : (-x[1], x[2], -x[3], ..
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..
- Total
- Today
- Yesterday
- 딕셔너리
- 빌림
- 자료구조
- 조합
- 1759
- 수학
- 삼성청년소프트웨어아카데미
- 17478
- 10845
- 백준
- 브루트포스
- 백트래킹
- 11051
- 파이썬
- 큐
- 스택
- 1715
- 1182
- 싸피
- 프로그래머스
- 10815
- heapq
- 1764
- 1358
- 덱
- 러스트
- 10971
- dp
- 10816
- 2805
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |