일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 소수 만들기
- 백준3190
- 키패드 누르기
- 백준 14499
- A와 B
- 프로그래머스
- 백준1697
- 백준
- 백준16954
- 백준16234
- Smart Commit
- 피보나치 수의 확장
- 전기 요금
- 백준 2564
- 빙산
- 경비원
- 백준2573
- 124 나라의 숫자
- 인구 이동
- 움직이는 미로 탈출
- 백준12904
- 로또의 최고 순위와 최저 순위
- 백준1339
- 백준1788
- 완주하지 못한 선수
- 백준5710
- 파이썬
- 부스트캠프
- 코딩테스트
- 단어 수학
- Today
- Total
목록전체 글 (30)
Today.dev

문제 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 풀이 import sys input = sys.stdin.readline def roll_the_dice(m): if m == 1: # 동 return [dice[0], dice[2], dice[3], dice[5], dice[4], dice[1]] if m == 2: # 서 return [dice[0], dice[5], dice[1], dice[2], dice[4..

살면서 코딩테스트를 처음 치러봐서 어디까지 얘기해도 되는건지 감이 안잡힌다.. 최대한 문제없도록 적으려고 노력했다! 1차 코딩테스트 CS 개념을 묻는 객관식 + 알고리즘 문제로 이루어졌다. 객관식이 출제된대서 자가 진단과 비슷하게 나오겠거니 했는데 예상 못한 문제가 나와서 많이 당황했다. 옛날에 분명 배웠던 것들인데 기억이 가물가물해서 머리를 쥐어뜯으며 풀었다ㅋㅋㅋㅠㅠ 알고리즘 문제는 쉬운 편이었으나 2번 문제를 풀지 못했다. 디버깅에 많이 의존하는 편인데, IDE 사용을 못하니 당연히 디버깅을 못해서 답답했고 문법 틀린 것들이 바로바로 캐치되지 않아서 힘들었다. 1차 코딩테스트가 종료된 후 IDE 없이 문제 푸는 연습을 엄청 했다. 2차 코딩테스트 솔직히 1차 코딩테스트를 못봐서 탈락했을거라 생각했는데..
문제 49189번: 가장 먼 노드 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 맞은 풀이 from collections import deque def bfs(graph, n): q = deque() q.append((1, 0)) # 시작노드, 거리 visited = [-1 for x in range(n + 1)] visited[1] = 0 while q: x, d = q.popleft() for i in graph[x]: if visited[i] == -1: visited[i] = d + 1 q.append((i, d + 1)) max_val = max(visited) ret..
문제 42746번: 가장 큰 수 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 틀린 풀이 def solution(numbers): numbers = list(map(str, numbers)) numbers.sort(key=lambda x: (len(x), -int(x))) #1 return ''.join(numbers) #2 1. 리스트를 자릿수가 짧고 큰 숫자 순서로 정렬(#1)했는데 틀린 정렬 조건이다. 2. 리스트를 단순히 str로 합치는..

문제 12899번: 124 나라의 숫자 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 틀린 풀이 124 나라의 숫자가 중복 조합의 형태를 가지고 있다는 것을 발견했다. 124 나라의 숫자는 1의 자리수가 세 개, 2의 자리수가 9개, 3의 자리수가 27개, 즉 [3, 9, 27, 81, ... ] 과 같이 3의 제곱수 형태로 증가하기 때문에 내가 뽑을 숫자의 개수를 구하고(#1) 중복 순열을 구한 후 원하는 숫자를 택하는 형태(#2)로 코드를 구현했다. from itertools import product def solution(n): # 1. 숫자를 몇 개 뽑아야할지(cnt) 구한다. s, cnt = 0, 0 while s < n: cnt += 1 s += 3**cnt # 2...
코드에서 API KEY를 그대로 노출하는 것은 보안상 좋지 않다. API KEY는 버전 제어 시스템에 등록하면 안 되며, 프로젝트의 루트 디렉토리에 있는 local.properties 파일에 저장하는 것이 좋다. local.properties 파일에 API KEY 저장 1. 우선 Buildconfig 파일이 노출되어선 안되므로 gitignore 파일에 다음 한 줄을 추가해준다. local.properties 는 자동으로 추가되어 있을건데, 없다면 추가해야 한다. // .gitignore build/ 2. local.properties 파일에 사용할 API KEY 값을 선언한다. API_KEY="YOUR_API_KEY_VALUE" 3. build.gradle(Module:app)에서 BuildConfig에..
AND 논리곱 & 연산자 이용 두 비트가 모두 1인 경우에만 1을 반환, 나머지는 0을 반환한다. OR 논리합 | 연산자 이용 두 비트 중 하나라도 1인 비트가 있다면 1을 반환, 나머지는 0을 반환한다. XOR 배타적논리합연산자 ^ 연산자 이용 두 비트가 다르다면 1을 반환, 같다면 0을 반환한다. XOR 연산을 이용한 풀이 동일한 값 두 개와 다른 값 한개가 입력으로 들어올 때, 다른 값을 선별하는 방법. x, y = 2, 3 print(x ^ x ^ y) # 출력 : 3
구현 1. 인접리스트로 표현된 그래프 BFS from collections import deque def bfs(n): q = deque() q.append(n) visited = [False] * 9 while q: n = q.popleft() print(n, end=' ') for i in graph[n]: if not visited[i]: q.append(i) visited[i] = True graph = [ # 각 노드가 연결된 정보를 2차원 리스트로 표현 [], [2, 3, 8], [1, 7], [1, 4, 5], [3, 5], [3, 4], [7], [2, 6, 8], [1, 7] ] 활용 1. 2차원 리스트에서 출발 노드와 목표 노드 사이 최단 거리 구하기 # 5 X 5 배열 # start ..