일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 로또의 최고 순위와 최저 순위
- 백준1339
- A와 B
- 프로그래머스
- 백준
- 백준 2564
- 단어 수학
- 백준 14499
- 백준3190
- 키패드 누르기
- 백준16234
- 백준16954
- 빙산
- 백준5710
- 전기 요금
- 소수 만들기
- 백준1697
- 코딩테스트
- 백준1788
- 파이썬
- 124 나라의 숫자
- 움직이는 미로 탈출
- 부스트캠프
- 백준2573
- 피보나치 수의 확장
- 경비원
- 백준12904
- 인구 이동
- Smart Commit
- 완주하지 못한 선수
- Today
- Total
목록프로그래머스 (5)
Today.dev
문제 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...
문제 67256: 키패드 누르기 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 2차원 배열에 키패드 숫자를 넣자니 좌표 구하기가 힘들고 좌표를 넣자니 숫자를 못 구하고, 고민하다가 그냥 딕셔너리로 만들어버렸다. 그리고 bfs 쓸 필요 없는 거 제출하고 나서 알았다; 스스로 난이도 높여서 풀었더라 😥 혹시 이거 보시는 분들은 편하게 절댓값으로 거리 구하세요.. from collections im..
문제 77484번: 로또의 최고 순위와 최저 순위 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 일치하는 번호와 모르는 번호로 최고, 최저 순위를 만든다. 1. 일치하는 번호 개수 -> 최저 당첨 2. 일치하는 번호 개수 + 모르는 번호 개수 -> 최고 당첨 lottos, win_nums 리스트의 원소가 전부 다르다고 해도 선택할 수 있는 번호의 범위가 33개나 된다. 번호가 부족해서 선택할 수 없는 경우는 없다. def solution(lottos, wi..
문제 42576번: 완주하지 못한 선수 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 participant, completion 배열을 정렬하고 두 배열의 값이 어긋나는 순간에서 정답을 찾는다. 예를 들어 participant = [1, 2, 3, 3, 5], completion = [1, 2, 3, 5] 인 경우를 보자. 1 2 3 3 5 1 2 3 5 (1, 1), (2, 2), (3, 3)과 같이 계속 값이 일치하다 (3, 5) 처럼 값이 어긋나게 되면 그때의 participa..
문제 12977번: 소수 만들기 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 풀이 배열에서 고정적으로 3개를 뽑아서 검사해야 하기 때문에 조합을 사용해서 가능한 리스트를 만든다. 후에 반복문을 돌리며 숫자들의 총합이 소수인지 아닌지 구한다. import math from itertools import combinations def is_prime(n): # 소수 판별 for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return Fal..