본문 바로가기
SMALL

알고리즘-python/백준 문제18

[백준/2292/파이썬(Python3)] 벌집 문제 출처 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 풀이 수열 개념을 활용해서 문제를 풀면 됩니다. 방이 한 개씩 증가할 때 마지막 방의 번호는 1, 7, 19, 37 ... 입니다. 각 항의 차이는 6(n-1) 만큼 나네요 처음에는 아래처럼 함수를 썼더니 시간초과가 나서 실패 했었습니다. target=int(input()) def std(n): return 3*(n**2)-3*n+1 n=1 while True: if std(n-1) < target and target std: std+=6*n n+=1 else.. 2021. 7. 7.
[백준/1712/파이썬(Python3)] 손익분기점 문제 출처 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 풀이 코드 A, B, C = map(int, input().split()) if B >= C: print(-1) else: N=A//(C-B) print(N+1) 2021. 7. 7.
[백준/1316/파이썬(Python3)] 그룹 단어 체커 문제출처 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 풀이코드 N=int(input()) answer=0 for i in range(N): word=input() compare='' word_copy='' for ch in word: if ch != compare and ch not in word_copy: compare=ch word_copy+=ch elif ch==compare: compare=ch word_copy+=ch if word==word_copy: answer.. 2021. 7. 6.
[백준/2941/파이썬(Python3)] 크로아티아 알파벳 문제출처 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 풀이코드 word=input() alphas=['c=','c-','dz=','d-','lj','nj','s=','z='] cnt=0 for alpha in alphas: if alpha in word: cnt+=word.count(alpha) answer = len(word)-cnt*2+cnt print(answer) 2021. 7. 5.
LIST