본문 바로가기

Algorithms102

[구현] 이코테 기출 - 럭키 스트레이트(py) 문제 https://www.acmicpc.net/problem/18406 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 풀이 - 내 풀이 n = list(input()) first = 0 second = 0 for i in range(len(n)): if i > len(n)/2-1: second += int(n[i]) else: first += int(n[i]) if first == second: print('LUCKY') else: print('READY') - 책 풀이 n = input() length = len(n) summary = 0 # 왼쪽 부분의 .. 2023. 7. 30.
[구현] 왕실의 나이트 문제 행복 왕국의 왕실 정원은 체스판과 같은 8 × 8 좌표 평면이다. 왕실 정원의 특정한 한 칸에 나이트가 서있다. 나이트는 매우 충성스러운 신하로서 매일 무술을 연마한다. 나이트는 말을 타고 있기 때문에 이동을 할 때는 L자 형태로만 이동할 수 있으며 정원 밖으로는 나갈 수 없다. 나이트는 특정 위치에서 다음과 같은 2가지 경우로 이동할 수 있다. 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기 수직으로 두 칸 이동한 뒤에 수평으로 한 칸 이동하기 이처럼 8 × 8 좌표 평면상에서 나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수를 출력하는 프로그램을 작성하라. 이때 왕실의 정원에서 행 위치를 표현할 때는 1부터 8로 표현하며, 열 위치를 표현할 때는 a 부터 h로 표현한다. 예를.. 2023. 7. 29.
엘리스 - 문자열 앞뒤 검사하기(py), Palindrome 문제 회문(Palindrome)은 '토마토맛토마토, 다시합창합시다'와 같이 앞에서 읽으나 뒤에서 읽으나 같은 문자열을 의미합니다. 엘리스 토끼는 이런 회문을 검사하는 기계를 만들려고 합니다. 회문 검사 방식은 아래와 같습니다. 아래처럼 길이가 n인 문자열이 입력으로 주어집니다. 이때, 1번째 글자와 n번째 글자가 같은지 다른지를 비교합니다. 계속해서 2번째 글자와 n−1번째 글자, 3번째 글자와 n−2번째 글자 순서로 비교합니다. 지시사항을 참고하여 코드를 작성하세요. 지시사항 사용자로부터 문자열을 입력받고 문자열의 앞에서 i번째 문자와 뒤에서 i번째 문자가 같은지 비교한 후 두 문자가 같다면 Same을, 다르다면 Different를 출력합니다. 입출력 예시 입력 예시 출력 예시 abcdba Same S.. 2023. 7. 18.
[Greedy] 엘리스 - 구슬 꾸러미(py) 문제 엘리스 토끼는 구슬 장사를 위해 구슬을 꾸러미에 담아 포장을 하고 있습니다. 엘리스 토끼가 준비한 구슬은 색상별로 무게가 모두 다르며 구슬 꾸러미 또한 구슬을 담아낼 수 있는 무게가 모두 달라 최소한의 구슬 개수를 활용해 꾸러미를 채우려고 합니다. 색깔과 무게가 다른 3가지 종류의 구슬이 무제한으로 주어집니다. 구슬 무게 빨간 구슬 250g 파란 구슬 40g 흰 구슬 10g 예를 들어 300g의 꾸러미를 만들기 위해서는 빨간 구슬 1개, 파란 구슬 1개, 흰 구슬 1개로 최소 3개의 구슬이 필요합니다. 지시사항을 참고하여 코드를 작성하세요. 지시사항 사용자로부터 구슬 꾸러미의 무게를 입력받고 꾸러미를 만드는 데 사용되는 최소 구슬의 수를 출력하세요. (1 ≤ 구슬 꾸러미 무게 ≤ 10,000) 만약.. 2023. 7. 18.
[Greedy] 이코테 - 볼링공 고르기(py) 문제 A, B 두 사람이 볼링을 치고 있습니다. 두 사람은 서로 무게가 다른 볼링공을 고르려고 합니다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여됩니다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주합니다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재합니다. 예를 들어 N이 5이고, M이 3이며 각각의 무게가 차례대로 1,3,2,3,2일 때 각 공의 번호가 차례대로 1번부터 5번까지 부여됩니다. 이때 두 사람이 고를 수 있는 볼링공 번호의 조합을 구하면 다음과 같습니다. (1번, 2번), (1번, 3번), (1번, 4번), (1번, 5번), (2번, 3번), (2번, 5번), (3번, 4번), (4번, 5번) 결과적으.. 2023. 7. 11.
[Greedy] 이코테 - 만들 수 없는 금액(py) 문제 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N=5이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리(화폐 단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N=3이고, 각 동전이 각각 3원, 5원, 7원 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. 입력 조건 첫째 줄에는 동전의 개수를 나타내는 양의 정수 N이 주어집니다. (1≤N≤1,000) 둘째 줄에는 각 동전의 화폐 단위를 나타내는 N개의 자연수가 주어지며, 각 자연수는 공백으로 구분합니다.. 2023. 7. 11.