Algorithm/백준 10

[백준 Python] 2822번 점수 계산

문제 https://www.acmicpc.net/problem/2822 풀이 python의 경우 정렬해주는 함수(sort, sorted)가 있어 쉽게 풀 수 있다. 1. 질문의 값을 dict에 저장한다 for i in range(8): score[i] = int(input()) 2. dict에 저장된 값을 기준으로 내림차순 정렬한다. score = sorted(score.items(), key = lambda item: item[1], reverse = True) 3. 5개의 최대 값을 가져와서 더하고, 키값(문제번호)는 따로 배열에 저장한다 for key, value in score: if i >= 5: break total_score += int(value) questions.append(str(ke..

Algorithm/백준 2023.07.14

[백준 Python] 1259번 팰린드롬수 문제 풀이

문제 https://www.acmicpc.net/problem/1259 풀이 처음엔 반을 나눠서 계산해야하나? 이걸 어떻게 아름답게 표현할 수 있을까? 고민해봤는데 문제에 답이 있었다. 간단하게 문자열 역순으로 바꾸고 일치하는지만 확인해주면 되는것. def palindromes(origin_str): reverse_str = origin_str[::-1] if origin_str == reverse_str: return "yes" else: return "no" if __name__ == '__main__': result_arr = [] input_string = input() while input_string != '0': result_arr.append(palindromes(input_string))..

Algorithm/백준 2023.07.12

[백준 Python] 25501번 재귀의 귀재 문제풀이

문제 https://www.acmicpc.net/problem/25501 풀이 깊게 고민안하고 내가 좋아하는 딕셔너리에 값을 넣어서 반환했다. def recursion(s, i, r, count): if i >= r: return {"result": 1, "count": count} elif s[i] != s[r]: return {"result": 0, "count": count} else: count += 1 return recursion(s, i + 1, r - 1, count) def is_palindrome(s): return recursion(s, 0, len(s) - 1, 1) if __name__ == '__main__': input_count = int(input()) input_strin..

Algorithm/백준 2023.07.11

[백준 Python] 17478번 재귀함수가 뭔가요? 문제풀이(3가지 방법)

문제 https://www.acmicpc.net/problem/17478 코드 첫번째 시도 재귀를 두 개 사용해서 표현. 처음, 중간, 마지막 으로 분리해서 각각 출력이 되게끔했다. 가장 쉽게 풀이할 수 있는 방법이 아닐까. 다만 재귀하나로 될거같은데, 뭔가 너무 많고 지저분해서 재시도 # 첫번째 시도 # 탭을 출력하는 함수 def print_tab(repeat_count): if repeat_count = 0: print('____' * index + '라고 답변하였지.') index -= 1 문제풀이 KeyPoint 1. 공통된 규칙을 찾는다. 이번 문제의 경우, 같은 문자열이 계속 반복된다. 그리고 반복을 거듭할수록 ____ (언더바 4개)가 한묶음씩 추가된다. 2. 처음과 마지막에는 다른 문자열을..

Algorithm/백준 2023.07.11

[백준 Python] 10807번 개수 세기 문제 풀이

문제 https://www.acmicpc.net/problem/10807 총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오. 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 풀이 n = int(input()) # 정수 n의 값 입력받기 numbers = list(map(int, input().split())) # numbers 리스트에 int 자료형을 가진 값을 받는다. v = int(input()) # 찾으려는 값 v 입력받기 answer = 0 for number..

Algorithm/백준 2023.04.06

[백준 Python] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 문제풀이

문제 동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나..

Algorithm/백준 2023.04.06

[백준 Python] 2562번 최댓값 문제풀이

문제 https://www.acmicpc.net/problem/2562 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 x = 0 numbers = [] # 값을 입력받을 리스트 선언 w..

Algorithm/백준 2023.04.06

[백준 Python] 10871번 x보다 작은수 문제풀이

문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 n, x = map(int, input().split()) # n 과 x 의 변수에 int 자료형을 가진 값을 입력받는다. numbers = list(map(int, input().split())) # numbers 리스트에 int 자료형을 가진 값..

Algorithm/백준 2023.03.31