[백준] 1193번 - 분수찾기 (파이썬)
·
알고리즘 공부/백준
> [문제] 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. [설명] 순서를 쭉 써보면 그림과 같이 나온다. 여기서 쭉 보다보면, 몇 개의 규칙을 발견할 수 있다. 규칙 1. 합이 같은 친구들끼리 그룹으로 묶을 수 있다. - 1/2와 2/1은 합이 3이기 때문에 같은 그룹으로 묶을 수 있다. - 그림에는 색깔로 구분을 해두었다. 2. 그 합은 하나씩 증가한다. - 노란 그룹은 합이 4였는데, 초록 그룹은 합이 5다. 3. 그룹에 있는 분수의 개수도 하나씩 증가한다. -..
[백준] 18310번 - 안테나 (파이썬)
·
알고리즘 공부/백준
> [문제] 일직선 상의 마을에 여러 채의 집이 위치해 있다. 이중에서 특정 위치의 집에 특별히 한 개의 안테나를 설치하기로 결정했다. 효율성을 위해 안테나로부터 모든 집까지의 거리의 총 합이 최소가 되도록 설치하려고 한다. 이 때 안테나는 집이 위치한 곳에만 설치할 수 있고, 논리적으로 동일한 위치에 여러 개의 집이 존재하는 것이 가능하다. 집들의 위치 값이 주어질 때, 안테나를 설치할 위치를 선택하는 프로그램을 작성하시오. 예를 들어 N=4이고, 각 위치가 1, 5, 7, 9일 때를 가정하자. 이 경우 5의 위치에 설치했을 때, 안테나로부터 모든 집까지의 거리의 총 합이 (4+0+2+4)=10으로, 최소가 된다. https://www.acmicpc.net/problem/18310 18310번: 안테나..
[백준] 14720번 - 우유 축제 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > [문제] 영학이는 딸기우유, 초코우유, 바나나우유를 좋아한다. 입맛이 매우 까다로운 영학이는 자신만의 우유를 마시는 규칙이 있다. 맨 처음에는 딸기우유를 한 팩 마신다. 딸기우유를 한 팩 마신 후에는 초코우유를 한 팩 마신다. 초코우유를 한 팩 마신 후에는 바나나우유를 한 팩 마신다. 바나나우유를 한 팩 마신 후에는 딸기우유를 한 팩 마신다. 영학이는 우유 축제가 열리고 있는 우유거리에 왔다. 우유 거리에는 우유 가게들이 일렬로 늘어서 있다. 영학이는 우유 거리의 시작부터 끝까지 걸으면서 우유를 사먹고자 한다. 각각의 우유 가게는 딸기, 초코, 바나나 중 한 종류의 우유만을 취급한다. 각각의 우유 가게 앞에서, 영학이는 우유를 사마시거나, 사마시지 않는다. 우유거리에는 사람이 많기 때문..
[백준] 10250번 - ACM 호텔 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > [문제] ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거..
[백준] 14659번 - 한조서열정리하고옴ㅋㅋ (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > [문제 요약] 한 봉우리에는 한 명씩 서 있다. (정황상 한조가 서있는듯하다) 자신보다 더 낮은 봉우리에 있는 적들만 처치할 수 있다. 방향은 오른쪽이다. 더 높은 봉우리에 있는 적을 만나면 포기하고 드러눕는다. 이 중 최고의 활잡이가 최대 몇 명을 처치할 수 있는 지를 구하라! https://www.acmicpc.net/problem/14659 🎨 풀이 💡 전체 코드 import sys N = int(sys.stdin.readline()) hanzo = list(map(int, sys.stdin.readline().split())) winner = hanzo[0] result = [] count = 0 for i in range(1,len(hanzo)): if winner < hanz..
[백준] 2869번 - 달팽이는 올라가고 싶다 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 🎨 풀이 💡 전체 코드 import sys a, b, v = map(int, sys.stdin.readline().split()) res..
[백준] 2864번 - 5와 6의 차이 (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > 상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다. 상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다. 두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/2864 2864번: 5와 6의 차이 첫째 줄에 두 정수 A와 B가 주어진다. (1 잘 풀었다고 생각한다. 손목이 좀 아픈데.. 요즘 좀 열심히 해서 그런걸까??! 그렇다면 조금 뿌듯할 것 같기도 ^ㅁ^.. 건강 잘 지키면서..
[백준] 17478번 - 재귀함수가 뭔가요? (파이썬)
·
알고리즘 공부/백준
📝 문제 설명 > [문제 요약] 떠나기 전까지도 제자들을 생각하셨던 JH 교수님은 재귀함수가 무엇인지 물어보는 학생들을 위한 작은 선물로 자동 응답 챗봇을 준비하기로 했다. JH 교수님이 만들 챗봇의 응답을 출력하는 프로그램을 만들어보자. https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 🎨 풀이 💡 전체 코드 def chatbot(num): if num == 0: return 0 else : chatbot(num-1) print(("____"..