목록전체 글 (317)
지나가던 개발자

print(int((-1+(1-4*(1-int(input())))**(1/2))//2)) 1줄이긴 하지만 상당히 복잡해보이는 코드인데, 사실 그 내용은 굉장히 간단하다. 바로 대한민국 국민이라면 누구나 알 이차방정식의 근의 공식을 이용한 것이다...! 2a분의 -b 플러스마이너스 루트 b의 제곱 마이너스 4ac...! 우리는 k값을 구해야 하므로 k를 미지수로 한 이차방정식을 세우면, 총 불꽃의 수를 n이라고 했을 때에 처음 쏜 큰 불꽃 1개, 갈라진 중형 불꽃 k개, 중형 불꽃 k개에서 k개씩 갈라졌으므로 k²개가 된 소형 불꽃이 있으므로 1 + k + k² = n, 이항하면, k² + k + (1-n) = 0. 이렇게 된 식에서 근의 공식을 쓴 것이 위 코드이다. 2022년 5월 16일 19시 5분 ..

for i in range(int(input()), 0, -1): print("*" * i)

def is_square(n): return int(n ** 0.5) ** 2 == n s = 0 for i in range(int(input()), int(input())+1): if is_square(i): if s == 0: minimum = i s += i if s == 0: print(-1) else: print(s) print(minimum) 최근 깃허브에서 무언가 하고 있다. 바로 파이썬의 함수들을 모아놓은 repository를 만드는 것이다. is_square() 함수도 거기서 온 것이다. https://github.com/kwonyonghyeon/useful_defs GitHub - kwonyonghyeon/useful_defs: 여러가지 코드에 쓸 함수들입니다. 제가 쓰려고 만들어놨지만..

print(" ".join(map(str, sorted(list(map(int, input().split())))))) 사랑해요 파이썬

n = int(input()) for i in range(n): input() for i in range(n): print(1) 트위터 보다가 1만 출력해도 되는 문제가 있다길래 풀어봤는데 진짜였다.

n = int(input()) if n == 1: print(1) else: i = 1 k = 1 while True: j = i i += 6 * k if j = n: print(k+1) break k += 1 1은 1, 2~7은 2, 8~19는 3, 20~37은 4, 38~61은 5를 출력하여야 하며, 이 차가 5, 11, 17, 23으로 6n만큼 늘어나는 것을 알 수 있다,. 클래스 2 승급!

k, n, m = list(map(int, input().split())) if k*n-m > 0: print(k*n-m) else: print(0)

글로벌 경제 위기에 대해 토론하는 초등학생... ㄷ... 요즘 세계적으로 경기가 안좋은데 걱정이다. 우크라이나 사태가 장기화된 것과, 중국이 주요도시들을 말 그대로 봉쇄해버리는 멍청한 정책을 펼진 덕분에(참 중국답다) 이제 전 세계 경기가 침체되었다. math = "" for i in range(3): math += input() print(eval(math)) 파이썬에는 eval()이라는 함수가 있는데, 이는 문자열로 된 수식을 게산해주는 함수이다. print(eval(input()+input()+input())) 숏코딩을 위해 이렇게도 한번 짜봤다. 1줄코드. 덕분에 코드 길이가 66B에서 36B로 30B나 줄어들었다. 숏코딩 등수 61등을 기록했다 ! (2022.05.11 18:17 기준)

2007년에 만든 문젠가? 그런데 방금 검색해보니 백준은 2010년 3월 19일에 설립되었다는데. from datetime import datetime print({0: "MON", 1: "TUE", 2: "WED", 3: "THU", 4: "FRI", 5: "SAT", 6: "SUN"}[datetime.strptime("2007 " + input(), '%Y %m %d').weekday()]) 2007년은 내가 태어난 해이기도 하다. 솔브닥 둘러보다가 내가 태어난 해가 제목인 문제가 있어서 풀어봤다. 어차피 주어지는 날짜는 전부 2007년의 날짜이기에 datetime 모듈과 딕셔너리를 활용하여 2줄로 코드를 짰다.

n1, n2, n12 = list(map(int, input().split())) print(int((n1 + 1)*(n2 + 1)/(n12 + 1) - 1)) 문제가 어떤 뜻인지도 모르고 그냥 풀었다(?). 그런데 오늘까지 해서 원래 솔브닥에서 16일 스트릭 했어야 했는데 어제 실수로 안풀어서 스트릭 프리즈를 쓰려 했는데 그래서 샀는데 어떻게 쓰는지를 모르겠다(?).

input() divisors = sorted(list(map(int, input().split()))) if len(divisors) == 1: print(divisors[0]**2) else: print(divisors[0]*divisors[-1]) 저도 이게 왜 이러는지 수학적인 이유는 잘 모르겠습니다(안다면 댓글을 남겨 주세요!). 전 그저 중학생일 뿐이라서 ㅡㅡ 그냥 예시랑 여러 수들을 보니까, 진짜 약수가 한 개 뿐이면 제곱수이고, 아니라면 가장 작은 진짜 약수와 가장 큰 진짜 약수의 곱이더라고요. 수학적으로 분석해보고싶다..

내가 풋볼 규칙은 잘 모르지만, 풋볼에서는 Touchdown은 6점, Field Goal은 3점, Safety는 2점, Points-after-touchdown은 1점, two-point Conversions after touchdown은 2점을 주나보다. 문제는 그것들이 뭔지를 모른단 거지. output = [] for i in range(2): t, f, s, p, c = list(map(int, input().split())) output.append(t*6 + f*3 + s*2 + p + c*2) for i in output: print(i, end=' ')

input() seikai = list(map(int, input().split())) tensuu = 0 maeno_seikai = 1 for i in seikai: if i == 0: maeno_seikai = 1 continue tensuu += maeno_seikai maeno_seikai += 1 print(tensuu) 변수명을 일본어로 써 봤다. seikai는 正解(せいかい, 정답), tensuu는 点数(てんすう, 점수), maeno_seikai는 前の正解(まえのせいかい, 전 정답)을 뜻한다.

이런 쉬운 문제를 참 거창하게도 내 놓은 것 같다(?) ww print(int(input())-1946) 코드 길이가 24B밖에 안돼서 기대하면서 숏코딩 탭으로 갔는데 나랑 똑같이 24B인 파이썬 유저들이 1000명은 되는 것 같아 보였다.

from datetime import datetime print(datetime.now().year) print(datetime.now().month) print(datetime.now().day) 사실 이런 문제는 그냥 문제 푸는 날의 날짜 써도 해결된다. 그렇지만 이 글을 보는 사람들이 언제든지 복붙만 해도 해결할 수 있도록 굳이 datetime을 쓴 블로그 주인장의 넓은 마음이다. datetime 모듈은 현 시간을 불러올 수 있다. 근데 생각해보니까 저번에 datetime 모듈 쓴 문제가 또 있었던 것 같은데(?). https://developer-next-to-you.tistory.com/114 [Python] 백준 10699번(오늘 날짜) 문제 풀이 import datetime print(dat..

8888888888 888 88888 88 88 88 88 88 88 8888 88 88 88 88888 88 88 888888888 88 88 88888888 88 88 88 88 888888 88 88 88 888 88888 888888 88 88 88 88 88 88 88 88 88 8888 88 88 88 88888 8888 888 888 888888888 88 88 88 88 88 88 88 88 88888888

/~\ ( oo| _\=/_ / _ \ //|/.\|\\ || \ / || ============ | | | | | | 옛날에 Text라는 것의 존재를 몰랐을 때에는 파이썬으로 저걸 한줄씩 print()하고 있었는데. 세상 참 좋아졌네. (?) Python으로 풀었던 문제들: https://developer-next-to-you.tistory.com/99 [Python] 백준 5338번(마이크로소프트 로고) 문제 풀이 for i in [" _.-;;-._", "'-..-'| || |", "'-..-'|_.-;;-._|", "'-..-'| || |", "'-..-'|_.-''-._|"]: print(i) 출력하는 방법만 알면 풀리는 문제이다. print() 함수가 뭔지만 알면 누구나 풀 수 있다. deve..

s = 0 for i in range(5): s += int(input()) print(s) 솔브닥이 뭔가 바뀌었다. 문제 종류별로 티어가 다르다. 원래 이게 아니었는데 이렇게 됐다. 종류별로 알 수 있게 되어서 좋은듯? 근데 그건 그렇고 나 dp랑 좀 어려운 알고리즘들 연습좀 해얄듯 하다.

. . . | | _ | _. _ ._ _ _ |/\|(/.|(_.(_)[ | )(/.

answer = 0 for i in range(1, int(input())+1): if len(str(i)) == 1 or len(set(list(str(i)))) == 1: answer += 1 continue a = list(map(int, list(str(i)))) hihi = a[1]-a[0] for j in range(len(a)): try: if a[j+1] - a[j] == hihi: continue hihi = 0 break except IndexError: break if hihi != 0: answer += 1 print(answer) 수를 입력받아서 그 수가 한수인지 아닌지 판별하여, 맞다면 answer 변수에 1씩 더하는 코드이다. 아니 근데 솔브닥 오류가 났나보다. 분명히 문제를 ..

print(min(list(map(int, input().split())))//2) N과 M 중 작은 것을 2로 나눈 값을 출력한다.

The world says hello! print()를 사용해서 파이썬으로 푸는 방법도 있지만.. 이런 출력 문제는 그냥 Text로 복붙만 하는게 훨씬 편하다.

test_case = [] for i in range(int(input())): test_case.append(list(map(int, input().split(",")))) for i in test_case: print(sum(i)) 11022번 푸는 풀이에서 3번째 줄까지 가져왔다.

def is_prime(n): if n == 1: return False for i in range(2, n): if n % i == 0: return False return True divisor = [] summ = 0 m = int(input()) n = int(input()) for i in range(m, n+1): if is_prime(i): summ += i divisor.append(i) if len(divisor) == 0: print(-1) else: print(summ) print(divisor[0]) is_prime 함수는 이전 글에서 가져왔다. https://developer-next-to-you.tistory.com/136 [Python] 백준 1929번(소수 구하기) 문제 풀이..

아마 이 정답 코드를 블로그에 올리는 것은 내가 최초이지 않을까 싶다. :8DDDDDDDDDDDDDD$. DDDNNN8~~~~~~~~~~=~7DNNDNDDDNNI ?NNDD=~=~~~~~~~~~~~~~~~~~=~~==~=INNDNN7 +NDDI~~~~~~~~~~~~~~~~~~~~~~~=~~========~ODND+ :NND~~~~~~~~~~~~~~~~~~~~~~~~~~~=~~============7NDN $DD$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=~~==============~DNN $DD=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=~~=================NND ND7~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=~~=================..

n = int(input()) a = False for i in range(1, n): hihi = i + sum(list(map(int, str(i)))) if hihi == n: print(i) a = True break if a == False: print(0) 내가 예전에 내가 왜 hihi라는 변수명을 쓰는지 올린 적이 있었던 것 같다. https://developer-next-to-you.tistory.com/70 [Python] 백준 2475번(검증수) 문제 풀이 numbers = list(map(int, input().split())) hihi = 0 for number in numbers: hihi += number ** 2 print(hihi % 10) 고유번호 5자리를 입력받은 후, 그..

문제가 정말 길다. sequence = [] for i in range(int(input())): sequence.append(int(input())) if sequence[1] - sequence[0] == sequence[2] - sequence[1]: print(sequence[-1]+(sequence[1]-sequence[0])) else: print(int(sequence[-1]*(sequence[1]/sequence[0]))) 문제에서는 등차수열과 등비수열 둘 중 하나를 주기 때문에 등차수열이 아니라면 등비수열이다.

어디가? numbers = [] while True: a = list(map(int, input().split())) if a == [0, 0]: break numbers.append(a) for number in numbers: if number[0] > number[1]: print("Yes") continue print("No")