전체 글 273

python 백준 알고리즘 1193번: 분수찾기

https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net ex) [1/1], [1/2, 2/1], [3/1, 2/2, 1/3], [1/4, 2/3, 3/2, 4/1], [5/1, 4/3, 3/3, 2/4, 1/5] 1, 3, 6, 10, 15 라인은 1-2-3-4식으로 등차수열 -> 벌집문제에서 활용했던 while문 사용, 인풋받은 수를 라인을 1씩 늘려가면서 빼서 몇번째 줄 몇번째 수인지 구한다. 홀수번째 라인은 사선이 분자가 내림차순, 분모가 오름차순 순이고, n/1 -> 1/n 짝수번째 라인은 사선이 분자가 오름차순, 분모가 내림차순 순이다.1/n -> n/1 내 제출 X=int..

python 백준 알고리즘 2292번: 벌집

https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 1 - 7 - 19 - 37 - 61 6 12 18 24 최소 개수의 방 = 6n의 개수로 늘어난다 n = int(input()) room = 1 # 방은 1부터 시작 cnt = 1 # 방의 최소 개수 while n > room: room = room + (6 * cnt) # 6의 배수로 증가 cnt += 1 # 방의 최소 개수가 늘어나게 되는 경우 증가 print(cnt)

python 백준 알고리즘 1712번: 손익분기점

https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 손익분기점 -> 수입이 고정비용+가변비용보다 높아지는 지점 손익이 같아지는 시점 / C*n = A+B*n n(C-B) = A n = A/(C-B) 이므로 +1 해주면 수익이 생산비를 넘어서게 된다. print(int(A/(C-B)+1)) 내 제출 A, B, C = map(int,input().split()) if B>=C: # B(생산비)가 C(가격)보다 크다면 애초에 성립이 안됨 print(-1) e..

20220914 파이썬 과제

1. 계산기 심화 num1 = input('첫 번째 숫자를 입력 : ') num2 = input('두 번째 숫자를 입력 : ') class Calc: def __init__(self, num1, num2): self.num1 = num1 self.num2 = num2 def plus(self): try: result = int(self.num1) + int(self.num2) return result except ValueError: # int로 변환하는 과정에서 에러가 발생했을 떄 print(f"{num1} 혹은 {num2}은(는) 숫자가 아닙니다.") except Exception as e: # 위에서 정의하지 않은 에러가 발생했을 때(권장하지 않음) print(f"예상하지 못한 에러가 발생했습니다...

a-ha - Take On Me

https://youtu.be/djV11Xbc914 We're talking away 서로 말하고 있으면서도 I don't know what I'm to say 내가 무슨 말을 해야할 지 잘 모르겠어요 I'll say it anyway 어쨌든 말할게요 Today's another day to find you 오늘은 당신을 찾을 날이 아닌가봐요 Shying away 부끄러움을 떨쳐내고 I'll be coming for your love, OK? 당신을 사랑하기 위해 다시 올께요, 알겠죠? Take on me (Take on me) 날 받아줘요 (날 받아줘요) Take me on (Take on me) 날 데려가줘요 (날 받아줘요) I'll be gone 난 떠날꺼에요 In a day or two 하루 이틀..

취미/music 2022.09.13

20220913 TIL

오늘의 한 일 python 강의 4일차 클래스 활용하기 과제 백준 알고리즘 문제 풀이 - 정리 및 복습 python 강의 4일차 Python 심화 class에 대한 이해 class란? 클래스를 선언하는것은 과자 틀을 만드는 것이고, 선언된 과자틀(class)로 과자(instance)를 만든다고 생각하면 됩니다. 선언 후 바로 사용되는 함수와 다르게 클래스는 인스턴스를 생성하여 사용하게 됩니다. class 내부에 선언되는 메소드는 기본적으로 self라는 인자를 가지고 있습니다. self는 클래스 내에서 전역 변수와 같이 사용됩니다. # 용어 정리 - 인스턴스(instance) : class를 사용해 생성된 객체 - 메소드(method) : 메소드란 클래스 내에 선언된 함수이며, 클래스 함수라고도 한다. -..

python 백준 알고리즘 1316번: 그룹 단어 체커

https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 내 제출 n = int(input()) group_word = 0 for _ in range(n): word = input() error = 0 for index in range(len(word)-1): # 인덱스 범위 생성 : 0부터 단어개수 -1까지 if word[index] != word[index+1]: # 연달은 두 문자가 다른 때, new_word = w..

python 백준 알고리즘 2941번: 크로아티아 알파벳

https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 내 제출 croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] # 크로아티아 알파벳 리스트 word = input() for i in croatia : word = word.replace(i, '*') # input 변수와 동일한 이름의 변수 print(len(word)) 예제는 무조건 크로아티아 알파벳으로..

python 백준 알고리즘 5622번: 다이얼

https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 내 제출 dial = ['ABC','DEF','GHI','JKL','MNO','PQRS','TUV','WXYZ'] word = input() time = 0 for unit in dial : for i in unit: # alpabet 리스트에서 각 요소를 꺼내서 한글자씩 분리 for x in word : # 입력받은 문자를 하나씩 분리 if i == x : # 두 알파벳이 같으면 time += dial.index(unit) +3 # time = time + index +3 pri..