Python 62

[BOJ][B2]시그마 - 2355

https://www.acmicpc.net/problem/2355 문제 전문은 링크 참조문제가공규칙성을 가지는 수열의 합은 양끝에서부터 항을 짝지으면 항상 합이 같으므로 이 성질을 이용하여 공식을 세우자.(가우스의 일화)수열의 개수를 확인하고, 이를 2로 나누어 times를 구한다.수열의 첫 번째 값과 마지막 값의 합을 구하여 val이라 한다.수열의 합은 val이 times번 반복된 값(val * times)이다.단, 수열의 개수가 홀수라서 짝지어지지 않는 중간값이 있다면, 그 값을 추가로 더한다.코드작성start,end = sorted(map(int,input().split()))if start == end : print(start) exit()total_times = end-start+1..

Python/백준 (BOJ) 2025.08.24

[BOJ][B2]이어 쓰기 3- 2154

https://build.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F문제 전문은 링크 참조문제가공숫자N을 입력받는다.12345…처럼 나열된 숫자에서 숫자N이 처음나오는 위치를 출력한다.코드작성숫자를 이어나가면서 원하는 숫자를 찾게 되면 값이 커질수록 찾는 속도도 느려지고 이미 찾은 구간을 다시 반복하는 비효율적인 작업이 발생된다.앞에서 이미 검증한 숫자들은 삭제하고 자리수만 기억하자.N = input()s=''idx = 0i =1while True: s+=str(i) if N in s: idx +=s.find(N) break if len(s)> len(N)*2: #이미 검증이 끝난 이전..

Python/백준 (BOJ) 2025.08.23

[BOJ][B2]소수단어 - 2153

https://www.acmicpc.net/problem/2153문제 전문은 링크 참조문제가공입력받은 알파벳을 숫자로 변환(a=1,b=2…z=26,A=27…Z=52)숫자의 합이 소수인지 판별하여 출력코드작성def GetNum(c): 아스키 코드를 이용하여 숫자를 구별한다def isPrime(n): 숫자의 1/2 제곱까지의 약수의 개수를 구하고, 약수 존재 유무에 따라 소수 판별def GetNum(c): n = ord(c) minus_v = 96 if n>90 else 38 return n-minus_vdef isPrime(n): arr =[] for i in range(2,int(n**0.5)+1): if n % i ==0: arr.append(..

Python/백준 (BOJ) 2025.08.22

[BOJ][B2]나는 너가 살아온 날을 알고 있다 - 2139

https://www.acmicpc.net/problem/2139문제 전문은 링크 참조문제가공입력받은 일,월,년 과 해당 년 1월 1일까지의 일수를 계산해서 출력코드작성datetime을 사용하자import datetime as dtwhile True: d,m,y = map(int,input().split()) if(d==0 and m==0 and y==0) : break st_date = dt.datetime(year=y,month=1,day=1) ed_date = dt.datetime(year=y,month=m,day=d) diff = ed_date-st_date print(diff.days+1)

Python/백준 (BOJ) 2025.08.20

[BOJ][B2]완전제곱수 - 1977

https://www.acmicpc.net/problem/1977문제 전문은 링크 참조문제가공From , To 숫자를 입력 받는다.From ≤ x ≤ To 이고, 완전 제곱수인 값을 구한다.완전 제곱수 들의 합과, 최솟값을 출력한다.코드작성완전 제곱수는 특정수를 제곱했을 때의 값이므로,반대로 특정수의 루트 값이 정수가 되면 완전 제곱수라고 볼 수 있다.frm = int(input())to = int(input())arr =[]for i in range(frm,to+1): if (i**0.5)% 1 ==0: arr.append(i)if len(arr)>0: print(sum(arr)) print(min(arr))else: print(-1)

Python/백준 (BOJ) 2025.08.18

[BOJ][B2]Number Game- 1975

https://www.acmicpc.net/problem/1975문제 전문은 링크 참조문제가공숫자 N을 받는다.2진법,3진법..x진법으로 수를 변환한다.변환된 수의 끝자리의 연속된 0의 개수를 합친다. (ex: n진법으로 변환된수 = 103000200 일때, 끝자리 0의 개수는 2)코드작성단순하게 문제 그대로 모든 진수들의 끝자리를 반복해서 체크하면 시간초과로 테스트는 실패한다.import sysT = int(sys.stdin.readline())def GetCountLastZero(val,base): # 끝자리의 0 개수 확인하기 result = 0 while val%base== 0: result+=1 val = val//base return resultfor..

Python/백준 (BOJ) 2025.08.17

[BOJ][B2]오각형, 오각형, 오각형… - 1964

https://www.acmicpc.net/problem/1964문제 전문은 링크 참조문제가공단계별로 늘어나는 점의 개수를 세어보면 공차의 수열이 등차수열을 이루는 것을 확인 할 수 있다.코드작성아래와 같이 반복문을 돌려주면 테스트에 통과를 하지만, 수가 커질수록 효율이 떨어진다.반복문 (1812ms) points = 5idx = int(input())gap = 7for _ in range(1,idx): # 시간복잡도 : O(n) points += gap gap+=3print(points%45678) 규칙성은 찾았지만, 수식화에 전혀 감이 잡히지 않아서 GPT한테 물어보니 이차수열의 식을 알려줬다.구해야 하는 항이 세개(A,B,C)이므로, n을 1~3 까지 대입하여 값을 구하자위의 식을 풀이하..

Python/백준 (BOJ) 2025.08.16