백준/완전탐색

    [백준 15721] 번데기 - python

    [백준 15721] 번데기 - python

    https://www.acmicpc.net/problem/15721 15721번: 번데기 예를 들어 7명이 있고, 16번째 등장하는 “뻔”을 부른 사람의 번호를 알고 싶다면 입력은 7 16 0이다. 4명이 있고 6번째 등장하는 “데기”를 부른 사람의 번호를 알고 싶다면 입력은 4 6 1이며, 이 www.acmicpc.net 문제 풀이 t개까지의 0또는 1의 개수인 m과 t가 같아질 때까지 while문을 반복하도록 했습니다 ppun이라는 list를 만들어 while문 안에서 0, 1, 0, 1, (0)*n, (1)*n 을 append 하도록 했습니다 번과 데기는 한번 반복할 때마다 1씩 증가하여 4, 5, 6, 7... 번씩 반복됩니다 그래서 len(puun)을 2로 나눈 개수가 t보다 클 경우와 아닌 경..

    [백준 18312] 시각 - python

    [백준 18312] 시각 - python

    https://www.acmicpc.net/problem/18312 18312번: 시각 정수 N과 K가 입력되었을 때 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 K가 하나라도 포함되는 모든 시각을 세는 프로그램을 작성하시오. 시각을 셀 때는 디지털 시계를 기준으로, www.acmicpc.net 문제 풀이 처음에 마냥 쉽다고만 생각하고 3중 for문을 돌렸습니다 계속 틀렸다고 해서 조건을 보니 (0≤N≤23, 0≤K≤9)이 조건인걸 발견했습니다 K가 0인 경우도 생각을 했어야 했고 시각이 한자리수 인 경우에는 0을 앞에 붙여야 했습니다 # k가 0인경우 생각하기 n, k = map(int, input().split()) count = 0 h = '' m = '' s = '' for..

    [백준 19532] 수학은 비대면강의입니다 - python

    [백준 19532] 수학은 비대면강의입니다 - python

    https://www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 문제 풀이 완전 탐색문제이므로 for문을 이용해 풀이하려했습니다 x와 y를 무식하게 전부 찾는 방식으로 풀이했음 처음에 코드를 짰을 땐 런타임에러가 떴는데 break를 사용해 이를 해결하였습니다 a, b, c, d, e, f = map(int, input().split()) result = [..

    [백준 2231] 분해합 - python

    [백준 2231] 분해합 - python

    https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 문제풀이 n부터 1까지 -1씩 작아지면서 생성자가 될 수 있는지 판단하여 result에 값을 넣어 처리했습니다 다른 분 코드를 보니 저처럼 for문을 쓰지 않고 m값을 map으로 한자리씩 분해하여 list에 담아 계산한 풀이도 있었습니다 근데 시간은 제가 더 빨리나와 의아했네요 생성자 유무는 result가 -1일때와 아닐때로 나눌때로 조건을 나누었습니다 근데 print..

    [백준 2798] 블랙잭 - python

    [백준 2798] 블랙잭 - python

    https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제풀이 완전탐색 문제여서 3중 for문을 사용해 문제를 해결했습니다 첫번째 카드를 i, 두번째 카드를 j, 세번째 카드를 z로 놓고 순서대로 탐색하도록 했습니다 m과 카드의 합을 뺐을 때 값(min_sub_value)이 그 전에 저장한 min_sub_value보다 작고, 카드 합이 m보다 작을 때만 result로 저장되도록 설정했습니다 n, m = map(int,..