We will find a way, we always have.

-interstellar

코딩 38

[백준] 1673번: 🍗치킨 쿠폰🍗 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/1673 1673번: 치킨 쿠폰 강민이는 치킨 한 마리를 주문할 수 있는 치킨 쿠폰을 n장 가지고 있다. 이 치킨집에서는 치킨을 한 마리 주문할 때마다 도장을 하나씩 찍어 주는데, 도장을 k개 모으면 치킨 쿠폰 한 장으로 교환 www.acmicpc.net 💼서론 취킨먹고싶다🍗 🧩문제 해석 치킨을 주문하는데에는 쿠폰이 필요하다. 그리고 치킨 한마리 시킬때마다 도장을 하나찍어주는데 k개의 도장을 찍으면 한개의 쿠폰과 교환할 수 있다. 또 이렇게 구매한 치킨에도 도장을 찍어준다! 또한 문제의 테스트케이스가 주어지지 않기 떄문에 무한 루프를 돌리고 시스템 종료 처리도 잘 해줘야한다. 📘풀이 1. 우선 가지고 있는 쿠폰 n개와 쿠폰 n개로 구매..

[백준] 1907번: 탄소 화합물

📎문제링크: https://www.acmicpc.net/problem/1907 1907번: 탄소 화합물 첫째 줄에 세 정수 X1, X2, X3 (1 이상 10 이하)를 빈 칸을 사이에 두고 순서대로 출력한다. 이는 각각 M1, M2, M3의 계수가 된다. 만일 해가 둘 이상이라면 답을 세 자연수로 이루어진 수열으로 생각해 www.acmicpc.net 💼서론 탄소화합물하니까 화학선생님이 생각난다...ㅎㅎ 화학 배웠을때도 일명 숫자맞추기 문제 여러번 풀어보고 했었는데, 프로그램 짜면서 옛추억에 잠시 잠겼었음! 🧩문제 해석 이번 문제는 전에 풀었던 비슷한 단어와 비슷한 느낌의 문제였다. 약간 구현 문제는 노가다가 들어가는 느낌이다. 원소가 주어지면, 생성물과 반응물의 원소 갯수를 맞추는 것이다. [백준] 21..

[백준] 11729번: 하노이 탑 이동 순서

📎문제링크: https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 💼서론 예전에 한번 맛보다가 잘 모르겠어서 북마크 남기고 있던 문제였는데, 스터디를 통해 책임감을 갖고 다시 풀어보기 위해 이 문제를 스터디에서 택했다 🧩문제 해석 재귀! 하면 빠질 수 없는 하노이탑 원판의 갯수가 주어졌을 때 이동횟수와 이동경로를 출력하시오 📀원판 이동 횟수 원판의 이동 횟수 구하는 것은 쉽게 유추해냈다. n개의 원판을 이동시키는 것은 n-1개의 원판을 ..

[백준] 10250번: ACM 호텔 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 💼서론 solved.ac에서 CLASS2+ 을 달성하기 위해 이문제를 풀어야하였다. 브론즈 3으로 쉬울거 같은 마음에 가볍게 잡았지만 변수가 있어 생각보다 오래걸렸다. 🧩문제 해석 먼저 온 손님부터 1열부터 w열까지 순서대로 채우는것이 손님이 가장 선호하는 자리를 주는 것이다. 📘풀이 1. 열부터 하나씩 채우는 것은 즉 n-h를 반복한다는 것이다. 2. 1번 동작을 n이 ..

[백준] 1417번: 국회의원 선거 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 💼서론 예~~전에 한번 봤다가 어케 푸는지 잘 모르겠어서 패스했던 문제다. 요즘 그리디 알고리즘을 배우고 있어서 다시 한번 도전해보았다. 구글링 없이 푸니까 나 자신 스스로도 성장했다고 느꼈다. 🧩문제 해석 다솜이는 국회의원이 되고 싶고 누가 누구를 뽑을지 알고 있다. 즉 다솜이 말고 다른 후보에게 투표하는 사람을 매수하여 자신을 투표하도록 만들어야 하는데 몇명을 매수해야 ..

[백준] 16165번: 걸그룹 마스터 준석이 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/16165 16165번: 걸그룹 마스터 준석이 정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는 www.acmicpc.net 🎵서론 문제 이름보고 끌려서 택했다는...ㅎㅎㅎ 실버 3 치곤 쉬운편이었다 이상 케이팝 처돌이 🧩문제 해석 1. 데이터를 입력받고 dict() 타입으로 저장한다. 2. 원하는 값을 dict()의 기본 제공 함수를 사용하여 출력한다. 💻코드 import sys input = sys.stdin.readline # 입력받을 걸그룹의 수와 맞혀야 할 문제 수를 받음 n, m = map(i..

[백준] 1037번: 약수

N의 약수가 모두 구해졌을 때 N을 구하는 문제!! 📘풀이 1. N의 모든 약수가 주어지니 최대값과 최소값을 곱하면 N을 구할 수 있다. 2. 만약 N이 소수의 제곱수라면 약수는 제곱근 하나밖에 없다. 그래서 그것을 따로 처리해주었다. (지금생각해보니까 필요없는 작업이었을지도...?ㅎㅎ) 💻코드 n = input() measuar = list(map(int, input().split())) print(max(measuar)*min(measuar)) if len(measuar) != 1 else print(measuar[0]**2) 📎문제링크: https://www.acmicpc.net/problem/1037

[백준] 2179번: 비슷한 단어

정답 비율과 푼사람이 적었지만 문제 해결 알고리즘은 쉽게 생각나서 이 문제를 골랐지만 의외로 복잡했고, 코드가 지저분해졌었다. 그래서 다른 사람의 도움을 얻어보려 열심히 구글링을 해봤지만 맞힌 사람이 63명 밖에 없었고(2022.4.18기준) 파이썬으로 풀이를 적어둔 사람은 한명도 보지 못했다...ㅎㅎ 📘풀이 1. 입력된 단어들을 사전순으로 정렬한다. 이때 인덱스도 같이 저장해준다. 2. 정렬된 단어들을 한글자씩 비교해가면서 접두사의 길이가 최대인 경우를 찾는다. 3. 접두사의 길이가 최대이면서 가장 먼저 입력된 단어를 출력한다. 💻코드 n = int(input()) a = [input() for _ in range(n)] # n = 9 # a = ["noon", "is", "for","lunch","m..

[백준] 1010번: 다리 놓기

처음에는 단순히 itertoors에서 combinations를 import해서 사용했는데 예상했던대로 시간초과가 나왔다. (요즘 문제 푸는데 시간초과가 너무 많이 나와...ㅜ) 그래서! 조합을 combinations를 사용하는 것이 아니라 식을 factorial을 불러와서 조합의 경우의 수를 만들어 주었다. 📚 풀이 1. math 모듈을 가져와 factorial을 사용한다. 2. mCn 을 factorial을 사용해서 만든다면 => (m!/(m-n)!)/n! 3. 2번에서 사용한 식을 컴퓨터에서 실행하면 오차가 발생한다. (23 24 입력시 23.9999996이 나옴) 그래서 어차피 몫과 값이 다를리가 없기 때문에 /가 아닌 //를 사용해준다. 💻 코드 import sys, math input = sys..