[Baekjoon] 1463 - 1로 만들기
·
코딩테스트/Python
🔗 Problem Link 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net ❔Thinking "2로 나누기 / 3으로 나누기 / 1빼기" 이 3가지 방법으로 주어진 숫자를 1로 만든다. 해당 숫자를 1로 만드는 다양한 방법 가운데, 가장 적은 횟수로 1을 만들고 그 횟수를 반환한다. 💻Solution n = int(input()) how_to_make_n = [0, 0, 1, 1] for i in range(4,n+1): if i % 3 == 0 and i % 2 == 0: how_to_make_n += [min(1+how_to_make_n[i-1], how_to_make_n[i//3] + 1, how_to_make_n[i..
[Baekjoon] 1003 - 피보나치 함수
·
코딩테스트/Python
🔗 Problem Link 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net ❔Thinking 피보나치 함수에서, 0과 1이 출력되는 횟수를 각각 출력한다. 💻Solution import sys T = int(sys.stdin.readline().rstrip()) zero_cnt = [1, 0] one_cnt = [0, 1] for i in range(2, 41): zero_cnt += [zero_cnt[i-1] + zero_cnt[i-2]] one_cnt += [one_cnt[i-1] + one_cnt[i-2]] for _ in range(T): num = int(sys.stdin.readline().rs..
[Baekjoon] 17219. 비밀번호 찾기
·
코딩테스트/Python
🔗 Problem Link 17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net ❔Thinking "사이트주소 비밀번호"가 적힌 메모를 참고하여, 사이트 주소에 맞는 비밀번호를 출력한다. 입력이 많기 때문에, input이 아닌 다른 입력 방법을 활용한다. 💻Solution import sys N, M = map(int, sys.stdin.readline().split()) password_dict = {} a = sys.stdin.read().splitlines() sites = a[-..
[Programmers] Level 3. 숫자 게임
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking A, B가 팀 대결을 펼치며, B팀은 A팀이 내는 숫자보다 큰 숫자를 골라 이겨야 한다. 이때, 가장 최대한 많은 경기를 이길 수 있는 횟수를 반환한다. 💻Solution 1. bisect_right를 이용한 풀이 from bisect import bisect_right def solution(A, B): win = 0 B.sort() for a in A: next_player = bisect_right(B, a) if next_player < len(B): win..
[Programmers] Level 3. 단속 카메라
·
코딩테스트/Python
🔗 Problem Link 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❔Thinking 차량의 진입,진출 기록이 각각 담긴 routes를 활용해, 모든 차량을 단속할 수 있는 최소 카메라 개수를 반환한다. 진입과 진출 시에 만나는 단속카메라도 단속이 가능하다. 💻Solution 1. 뒤에서부터 차례로 확인해나가는 풀이 def solution(routes): answer = 0 routes = sorted(routes, key=lambda x: x[0]) while routes: camera_site = routes.pop()[0] # 카메라 설치 wh..
무작정 시리즈의 시작
·
ML_DL/MUJAKJUNG (무작정 시리즈)
개와 고양이를 분류하는 모델은 예제로 많이 다루었잖아! 쉽잖아! 바로 할 수 있지? 무작정 시리즈의 시작은 이 질문이었다. 과연 나는, 비어있는 jupyternotebook의 마지막에, 개와 고양이를 분류한 결과를 출력할 수 있을까. 단숨에 MUJAKJUNG이라는 파일 이름을 정하고는 코드를 작성하기 시작했다. 무언가를 하려면, 또 무언가를 안다고 말하려면 아이러니하게도 '아는 것과 모르는 것'을 명확히 해야 한다. 목표를 이루기 위해 코드 작성을 이어나가면서, 새로 배운것과 더해지는 지식들은 별도로 정리해보려고 한다.