전체 글
[BOJ / 백준] 16937번 두 스티커 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16937 16937번: 두 스티커 첫째 줄에 모눈종이의 크기 H, W, 둘째 줄에 스티커의 수 N이 주어진다. 다음 N개의 줄에는 스티커의 크기 Ri, Ci가 주어진다. www.acmicpc.net CODE import sys h, w = map(int, input().split()) n = int(input()) stk = list(list(map(int, sys.stdin.readline().split())) for _ in range(n)) result = 0 for i in range(n): for j in range(i + 1, n): r1, c1 = stk[i] r2, c2 = stk[j] if (r1 + r2
[BOJ / 백준] 16936번 나3곱2 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16936 16936번: 나3곱2 나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다. 나3: x를 3으로 나눈다. x는 3으로 나누어 떨어져야 www.acmicpc.net CODE n = int(input()) num = [int(x) for x in input().split()] result = [] first_value = num[0] max_pow = 0 # 첫번째 값 찾기 for i in range(n): temp = num[i] pow = 0 while temp % 3 == 0: temp //= 3 pow += 1 if..
[Python] 파이썬 sys.stdin.readline() 입력 받기 : 시간 초과 해결, 입출력 속도 개선
🤔 input() 대신 sys.stdin.readline() 을 사용하는 이유 한두줄 입력받는 문제들은 input()을 사용해도 괜찮을 수 있지만, 여러줄 또는 반복문으로 입력 받는 경우에는 input()은 시간초과가 발생할 수 있습니다! 이럴 때, sys.stdin.readline() 을 사용합니다 코드에 깊은 복사를 사용한다면 복사 방법 선택으로도 실행 시간을 단축시킬 수 있습니다! 다음 글에 정리해두었습니다 📌 https://codesyun.tistory.com/198 [Python] 파이썬 리스트 복사 : 시간 초과 해결, 깊은 복사와 얕은 복사, copy, deepcopy, slicing, 2차원 리 더보기 백준 풀이를 하다 리스트를 깊은 복사할 때, deepcopy()를 사용한 코드가 slic..
[BOJ / 백준] 16922번 로마 숫자 만들기 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16922 16922번: 로마 숫자 만들기 2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다. www.acmicpc.net CODE from itertools import combinations_with_replacement n = int(input()) result = [] numbers = [1, 5, 10, 50] for temp in combinations_with_replacement(range(4), n): sum = 0 for i in temp: sum += numbers[i] result.append(sum) print(len(set(result))) 풀이 우리의 편리한 파이썬은 ..
[BOJ / 백준] 16917번 양념 반 후라이드 반 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16917 16917번: 양념 반 후라이드 반 현진 치킨에서 판매하는 치킨은 양념 치킨, 후라이드 치킨, 반반 치킨으로 총 세 종류이다. 반반 치킨은 절반은 양념 치킨, 절반은 후라이드 치킨으로 이루어져있다. 양념 치킨 한 마리의 가격은 www.acmicpc.net CODE a, b, c, x, y = map(int, input().split()) if a + b < 2 * c: print(a * x + b * y) else: print(2 * c * min(x, y) + min(a, 2 * c) * max(0, x - y) + min(b, 2 * c) * max(0, y - x)) 풀이 후라이드와 양념을 각각 한마리씩 사는 것..
[BOJ / 백준] 16968번 차량 번호판 1 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16968 16968번: 차량 번호판 1 00부터 99까지 총 100가지 중에서 00, 11, 22, 33, 44, 55, 66, 77, 88, 99가 불가능하다. www.acmicpc.net 입력 복사 > 예제 입력 1 dd > 예제 입력 2 cc > 예제 입력 3 dcdd CODE 1 s = input() if s[0] == 'c': answer = 26 else: answer = 10 for i in range(1, len(s)): if s[i] == 'c': if s[i - 1] == 'c': answer *= 25 else: answer *= 26 else: if s[i - 1] == 'd': answer *= 9 el..
[Python] 파이썬 리스트 : 선언, 연산자, 요소 추가, 요소 제거, in / not in
리스트 (list) - 여러 가지 자료를 모아 사용할 수 있게 해주는 특별한 형태의 자료 - 한 가지 또는 여러 종류의 자료형으로 구성할 수 있다 - 리스트 내부에 넣는 자료를 요소 (element)라고 부른다 - (예) array = [273, 32, 103, "문자열", True, False] print(array) # [273, 32, 103, '문자열', True, False] 리스트 선언 - 대괄호[ ]에 자료를 쉼표로 구분해서 입력한다 - 인덱스는 1부터 시작 [요소, 요소, 요소 ... ] 리스트의 사용 1. (일반적인 사용) 인덱스로 접근 list_a = [273, 32, 103, "문자열", True, False] list_a[0] = "변경" print(list_a) # ['변경', 3..
[Python] 파이썬 조건문 : if, else, elif 조건문, 조건문 내부를 구현하지 않았을 때
if 조건문 : 조건에 따라 코드를 실행하거나, 실행하지 않게 만들고 싶을 때 사용하는 구문 - 기본적인 구조 if 불값이 나오는 표현식: 불 값이 참일 때 실행할 문장 불 값이 참일 때 실행할 문장 # 4칸 들여쓰기 - (예) 계절를 구분하는 프로그램 - 날짜 출력 import datetime now = datetime.datetime.now() if 3
[Python] 파이썬 자료형 (3) : Boolean(불) 자료형, 비교 연산자, 논리 연산자
Boolean (불린, 불) - True(참)와 False(거짓) 값만 가질 수 있다 - 파이썬에서는 True, False의 첫 글자를 반드시 대문자로 적어야 한다 비교 연산자 연산자 설명 == 같다 != 다르다 = 크거나 같다 - 파이썬에서는 다음과 같은 코드로의 비교도 가능하다 x = 25 print(10 < x < 30) # True print(40 < x < 60) # False 논리 연산자 1. not 연산자 - 단항 연산자 - True와 False가 서로 바뀐다 - True와 False에 직접 적용하기 보다는 비교 연산자의 결과에 not 연산자를 적용한다 x = 10 under_20 = x < 20 print("under_20: ", under_20) print("not under_20: ",..
[CodeUp] 코드업 기초 100제 6031번 풀이 - 파이썬(Python)
6031 : [기초-값변환] 정수 입력받아 유니코드 문자로 변환하기(설명)(py) ▶ 문제 ◀ [문제링크] : https://codeup.kr/problem.php?id=6031 [기초-값변환] 정수 입력받아 유니코드 문자로 변환하기(설명)(py) 본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. ------ 10진 정수 1개를 입력받아 유니코드 문자로 출력해보자. 예시 c = int(input()) pr codeup.kr 입력 65 출력 A 코드 c = int(input()) print(chr(c)) 설명 chr() : 정수값을 문자로 변환 ord() : 문자를 정수값으로 변환