새싹 개발자의 모든 글 50

[백준/BOJ] 2953번: 나는 요리사다 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/2953 2953번: 나는 요리사다 "나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5 www.acmicpc.net 생각 각 참가자의 점수 합을 list로 저장 점수 합이 가장 큰 index + 1이 참가자 번호, 접수합이 가장 큰 것과 함께 출력 코드 scores = [sum(list(map(int, input().split()))) for _ in range(5)] # 각 참가자의 점수 합 print(scores.index(max(scores))+1, max(scores))

문제/백준 2023.01.01

[백준/BOJ] 1267번: 핸드폰 요금 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/1267 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 생각 예제 1에서 영식: 20 + 20 + 20 = 60, 민식: 15 + 15 + 15 = 45 라고 되어있는데 참고해서 각각 계산하여 합하면 된다. 요금이 같다면 영식을 먼저 쓴다. -> Y M 코드 N = int(input()) # 통화 개수 times = list(map(int, input().split())) # 각 통화 시간 Y_fee = 0 # 영식 요금제의 요금 M_fee = 0 # ..

문제/백준 2023.01.01

[백준/BOJ] 2475번: 검증수 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 생각 map으로 split 해서 수를 받고, 각 수를 제곱한다 리스트의 합을 10으로 나눈 나머지가 검증 수 코드 nums = list(map(int, input().split())) nums = map(lambda n : n**2, nums) print(sum(nums)%10)

문제/백준 2023.01.01

[백준/BOJ] 2010번: 플러그 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/2010 생각 input()으로 받으면 시간 초과 멀티탭 총 개수 만큼 for문으로 각 멀티탭 개수를 받음 각 멀티탭 개수를 합하고 멀티탭에서 1 뺀만큼 빼주면 끝! (플러그가 1개이고, 멀티탭이 3개라면 멀티탭에 이어서 꽂음) (3개짜리 멀티탭에 5개짜리 멀티탭 꽂고 4개짜리 멀티탭 꽂으면 2+4+4 = 10) 코드 import sys n = int(sys.stdin.readline()) # 멀티탭 개수 plug = 0 # 플러그 꽂을 수 있는 개수 for _ in range(n): plug += int(sys.stdin.readline()) print(plug - (n - 1))

문제/백준 2023.01.01

[백준/BOJ] 2455번: 지능형 기차 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/2455 2455번: 지능형 기차 최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. www.acmicpc.net 생각 역 마다 계산을 함 (타는 사람 +, 내리는 사람 -) 사람이 가장 많은 역을 출력 (print max) 코드 stations = [] people = 0 # 해당 역의 총 사람 for _ in range(4): # 내리는 사람, 타는 사람 out_people, in_people = map(int, input().split()) people += in_people people -= out..

문제/백준 2023.01.01

[릿코드/LeetCode] 412. Fizz Buzz (파이썬3/Python3)

문제 https://leetcode.com/problems/fizz-buzz/ Fizz Buzz - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 생각 우선 리스트를 증가하는 숫자로 채워놓고 Fizz와 Buzz들어갈 부분만 바꿔주면 될 듯? 나는 그냥 for문 돌려서 조건 맞으면 값 바꿔줘야겠다. - 그냥 바로 for문 돌리면서 append해도 굿! 코드 class Solution: def fizzBuzz(self, n: int) -> List[str]: R =..

문제/릿코드 2021.07.18

[백준/BOJ] 5355번: 화성 수학 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/5355 5355번: 화성 수학 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산 www.acmicpc.net 생각 리스트로 입력받고 계산하면 될 듯... 코드 N = int(input()) for i in range(N): a = list(map(str, input().split())) R = float(a[0]) for i in range(1, len(a)): if a[i] == "@": R *= 3 if a[i] == "%": R += 5 if a[i] == "#": R -..

문제/백준 2021.07.18

[백준/BOJ] 2163번: 초콜릿 자르기 (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/2163 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿 www.acmicpc.net 생각 이게 뭔가 싶을 수 있지만 직접 종이에 그려보면 엄청엄청엄청 쉬운 문제라는 것을 알 수 있다. 2X3 초콜릿, 3X3 초콜릿만 그려보면 된다ㅎ 코드 N, M = map(int, input().split()) print((N*M)-1)

문제/백준 2021.07.18

[릿코드/LeetCode] 169. Majority Element (파이썬3/Python3)

문제 https://leetcode.com/problems/majority-element/ Majority Element - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 생각 리스트를 set으로 한 번 감싸고 최대 개수를 가지는 친구 찾기! 이제 그 친구가 n/2 이상이면 ㄱㄱ 코드 class Solution: def majorityElement(self, nums: List[int]) -> int: n = set(nums) max_n = 0 max_c = 0..

문제/릿코드 2021.07.18

[백준/BOJ] 15552번: 빠른 A+B (파이썬3/Python3)

문제 https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 생각 한줄마다 입력받아서 출력하면 되려나...? 시간초과가 되지 않도록 우선 해봐야겠다. 코드 import sys N = int(input()) for i in range(N): a, b = map(int, sys.stdin.readline().split()) print(a+b)

문제/백준 2021.07.18