We will find a way, we always have.

-interstellar

파이썬 86

[백준] 1406번: 에디터 - 파이썬

🧩문제 해석 스택과 자료구조를 이용한 단순 구현 문제다. 이전에 한번 풀었던 유형이여서 쉽게 풀었던것 같다. 그때 열심히 고민했던게 아직 머리에 남아 있었다. 📘풀이 들어 오는 입력들을 L, B, P $, D 로 잘 구분하여 처리해준다. L 입력 : 문자열.pop() 그리고 그 문자를 새로운 스택 수열에 append() B 입력 : 문자열.pop() P $ 입력 : 문자열.append($) D 입력 : 스택.pop() 그리고 그 스택 문자를 문자열에 append() 이 때 조심해야하는게 스택리스트나 문자열 리스트가 비어있으면 pop() 함수 사용시 에러가 난다. 처리를 잘 해줘야 한다. 💻코드 import sys input = sys.stdin.readline word = list(input().rstr..

[백준] 13305번: 주유소 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 🧩문제 해석 전형적인 그리디 문제! 왼쪽에서 오른쪽으로 이동하는데 기름값을 가장 아끼며 주유하는 방법을 찾는거였다. 기름통의 한계는 없다고 주어졌기에 방법은 간단하다. 조금씩 조금씩 주유해가다가 가장 저렴한 주유소에서 가득 채운다음 가면 된다. 📘풀이 현재 주유소의 기름값하고 다음 주유소의 기름값하고 비교해가면서 기름값을 갱신하고 거리수랑 곱해준다. 💻코드 n = int..

[백준] 4375번: 1 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 🧩문제 해석 2와 5로 나누어 떨어지지 않는 정수 n이 주어졌을 때 1로만 이루어진 n의 배수를 찾고 1로만 이루어진 수중 가장 작은 수의 자릿수를 출력하면 되는 문제이다. 1로만 이루어진 n의 배수라는것 예제로 예를들면 111인것이다. 111은 3의 배수이면서 1로만 이루어진 수이고 3의 배수중 1로만 이루어진 수중에서 가장 작다. 📘풀이 n을 입력받고 1, 11, 111 이렇게 하나하나씩 n으로 나누어서 나머지가 0일때 그 자리수를 출력하는..

[백준] 1789번: 수들의 합 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 💼서론 요즘 열심히 그리디 알고리즘 파고 있다. 🤸‍♂️ 그리디 방법을 발견하면 뭔가 묘한 쾌감이 있다. 🧩문제 해석 서로 다른 자연수 N을 더한 값인 S가 주어졌을 때 N의 최대값을 구하는 문제! 📘풀이 1. N의 갯수를 최대로 만드려면 N은 1부터 시작해 N의 값을 +1 씩 증가하여 S를 만들면 그것이 N을 최대갯수로 만드는 것이다. 예제를 살펴보자! 200은 1+2+3+4+...+18+29 총 19개이다. 1부터 18까지는 N이 하나씩 증가하였지만 마지막 값은 1증가한 값이 아니었다. 이 마지막 ..

[백준] 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..