반응형

전체 글 295

백준 BAEKJOON 1076번 저항 [PYTHON/파이썬]

백준 BAEKJOON 1076번 저항 [PYTHON/파이썬] https://www.acmicpc.net/problem/1076 1076번: 저항 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한 www.acmicpc.net 주어진 표를 이해하면 쉽다. 색상이 들어있는 리스트를 만들어준 뒤 index를 활용하여 풀었다. 값은 0~9, 곱은 10의 0~9승을 이용하면 된다. color = ['black', 'brown', 'red', 'orange', 'yellow', 'green', 'blue', 'violet', 'grey', 'white'] a = str(co..

백준 BAEKJOON 1037번 약수 [PYTHON/파이썬]

백준 BAEKJOON 1037번 약수 [PYTHON/파이썬] https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 약수의 가장 큰 값과 가장 작은 값을 서로 곱해주어 풀었다. n = int(input()) num_list = list(map(int, input().split())) print(max(num_list)*min(num_list))

백준 BAEKJOON 1440번 타임머신 [PYTHON/파이썬]

백준 BAEKJOON 1440번 타임머신 [PYTHON/파이썬] https://www.acmicpc.net/problem/1440 1440번: 타임머신 첫째 줄에 시간이 주어진다. 시간은 DD:DD:DD와 같은 꼴로 주어진다. 항상 8자리(:도 포함)로만 들어오며, D는 0-9 사이의 숫자이다. www.acmicpc.net 주어진 시,분,초를 리스트에 담았다. hour 에 해당하는 1~12의 숫자 리스트와 minute와 second 에 해당하는 0~59의 숫자 리스트를 만든 뒤 3개의 for 문을 사용하여 조건에 해당하면 result 값에 +1 하여 풀었다. t_machine = list(map(int, input().split(':'))) hour = [h for h in range(1, 13)] mi..

백준 BAEKJOON 23292번 코딩 바이오리듬 [PYTHON/파이썬]

백준 BAEKJOON 23292번 코딩 바이오리듬 [PYTHON/파이썬] https://www.acmicpc.net/problem/23292 23292번: 코딩 바이오리듬 바이오리듬(biorhythm)이라는 이론을 들어본 적 있는가? 바이오리듬은 인체에 신체,감성,지성의 세가지 주기가 생년월일의 입력에 따라 어떤 패턴으로 나타나고, 이 패턴의 조합에 따라 능력이나 www.acmicpc.net 코딩 바이오리듬 조건식에 맞춰서 풀은 뒤 리스트에 튜플 형식으로 저장했다. (YYYY → a, MM → b, DD → c // value = a + b + c) value 값을 기준으로 정렬을 하고 빠른 날짜로 정렬하기 위하여 lambda 식을 사용했다. birthday = input() N = int(input()..

백준 BAEKJOON 25640번 MBTI [PYTHON/파이썬]

백준 BAEKJOON 25640번 MBTI [PYTHON/파이썬] https://www.acmicpc.net/problem/25640 25640번: MBTI 진호는 요즘 유행하는 심리 검사인 MBTI에 관심이 많다. MBTI는 아래와 같이 네 가지 척도로 사람들의 성격을 구분해서, 총 $16$가지의 유형중에서 자신의 유형을 찾을 수 있는 심리 검사이다. 내향( www.acmicpc.net 진호와 같은 MBTI 유형의 개수를 count 해줬다. jinho = input() mbti = [input() for _ in range(int(input()))] print(mbti.count(jinho))

백준 BAEKJOON 13223번 소금 폭탄 [PYTHON/파이썬]

백준 BAEKJOON 13223번 소금 폭탄 [PYTHON/파이썬] https://www.acmicpc.net/problem/13223 13223번: 소금 폭탄 첫째 줄에는 현재 시각이 hh:mm:ss로 주어진다. 시간의 경우 0≤h≤23 이며, 분과 초는 각각 0≤m≤59, 0≤s≤59 이다. 두 번째 줄에는 소금 투하의 시간이 hh:mm:ss로 주어진다. www.acmicpc.net 입력 받은 시간을 초 단위로 환산해줬다. 그리고 현재 시간과 소금 투하 시간을 비교해서 소금 투하 시간이 현재 시간보다 작으면 24시간을 초로 환산해서 더한 뒤 차이를 구했다. 그 결과에서 문제의 출력과 맞게끔 시간이 일의 자리수로 나온다면 앞에 0을 채워야하기 때문에 .zfill 을 사용해줬다. (.zfill 은 아래 ..

백준 BAEKJOON 14471번 포인트 카드 [PYTHON/파이썬]

백준 BAEKJOON 14471번 포인트 카드 [PYTHON/파이썬] https://www.acmicpc.net/problem/14471 14471번: 포인트 카드 예제 입출력 1에서, 포인트 카드 1의 꽝 도장 3개와 포인트 카드 3의 꽝 도장 1개를 당첨 도장으로 바꾸면, 4엔으로 5-1=4장의 카드가 경품과 교환 가능하게 되어, 이것이 최소 비용이다. 예제 입출 www.acmicpc.net 경품은 M-1 개 받을 수 있으니 for 문을 통해 N 이상인 포인트 카드들은 전체 카드에서 -1 하였고 (cnt) N 보다 작은 포인트 카드들이 얼만큼 비용을 지불해야 꽝에서 당첨으로 바꿀 수 있는지 card_stamp에 추가했다. 그리고 card_stamp를 정렬하여 남은 경품 개수만큼 total_value에..

백준 BAEKJOON 15734번 명장 남정훈 [PYTHON/파이썬]

백준 BAEKJOON 15734번 명장 남정훈 [PYTHON/파이썬] https://www.acmicpc.net/problem/15734 15734번: 명장 남정훈 오늘도 어김없이 피시방에서 피파를 하고 있는 정훈이는 큰 고민에 빠졌다. 자신에 팀에 있는 선수들의 주 사용 발(Main Foot)이 적절하게 나눠져있지 않기 때문이다. 정훈이의 팀에는 L명의 왼발 www.acmicpc.net 문제에서 잔류 인원만 확인하면 되기 때문에 L이 R 보다 작게끔 값을 서로 바꿔주어 조건문 식을 덜 사용하게끔 처리했다. 왼발 잡이 선수와 오른발 잡이 선수의 수를 비교하여 수가 같으면 양발 잡이 선수가 홀수이면 전체 인원에서 -1 해줬다. 수가 다르면 양발 잡이 선수가 더해졌을 때 차이를 확인 후 몇 명 잔류하는지 구..

백준 BAEKJOON 25704번 출석 이벤트 [PYTHON/파이썬]

백준 BAEKJOON 25704번 출석 이벤트 [PYTHON/파이썬] https://www.acmicpc.net/problem/25704 25704번: 출석 이벤트 쇼핑몰에서 30일간 출석 이벤트를 진행한다. 쇼핑몰의 사이트를 방문하면 1일 1회 출석 도장을 받을 수 있고, 출석 도장을 여러 개 모아서 할인 쿠폰으로 교환할 수 있다. 출석 도장의 개수에 따 www.acmicpc.net 처음 풀었을 때는 계속 런타임 에러가 났다. 이유를 곰곰이 생각해 보니 출석 도장의 개수(N)가 5 미만일 때를 고려하지 못했다. 그래서 sale 리스트에 0을 넣어두고 개수의 조건에 맞게 할인되는 가격을 넣어주고 풀었다. N = int(input()) price = int(input()) sale = [0]# N이 5 미..

백준 BAEKJOON 25628번 햄버거 만들기 [PYTHON/파이썬]

백준 BAEKJOON 25628번 햄버거 만들기 [PYTHON/파이썬] https://www.acmicpc.net/problem/25628 25628번: 햄버거 만들기 햄버거 가게에서 일하는 종현이는 햄버거를 만드는 일을 하고 있다. 가게에는 햄버거 빵이 $A$개, 햄버거 패티가 $B$개 있는데, 이 빵과 패티를 가지고 최대한 햄버거를 많이 만드려고 한다. 햄버 www.acmicpc.net ※ 블로그를 검토하던 중 좀 더 짧게 코딩하는 방법을 찾아내어 추가함 while 문을 돌려 2개의 조건식을 넣어줬다. A, B = map(int, input().split()) cnt = 0 while 1 : if A >= 2 and B >= 1 : cnt += 1 A -= 2 B -= 1 if A < 2 or B <..

반응형