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

조교가 사디스트라니... answer = [] for i in range(1, int(input())+1): answer.append(i) hihi = list(map(int, input().split())) sorry = 0 for i in range(len(answer)): if hihi[i] != answer[i]: sorry += 1 print(sorry) 맞게 되어 유감이라는 뜻을 담아 변수명을 sorry로 지정했다.

짐승의 숫자는 기독교의 경전인 신약성경의 요한묵시록에서 ‘짐승’을 언급할 때 나온 특정 개념이다. 구글에 666이라고 쳐보니 위키백과의 문서가 나왔다. 알고리즘 공부와 더불어 잡지식까지 주는 백준 최고! a = int(input()) b = 0 i = 666 while True: if "666" in str(i): b += 1 if b == a: break i += 1 print(i) 666이 연속으로 있는 숫자를 순서대로 찾는 알고리즘이었다. 어라라.

a = input().split('-') for i in range(len(a)): print(list(a[i])[0], end='') end=''는 정말 편하다. split()도 편하다. 파이썬이 좋다.

def is_prime(n): if n == 1: return False if n % 2 == 0: if n == 2: return True return False if n % 3 == 0: if n == 3: return True return False if n % 5 == 0: if n == 5: return True return False if n % 7 == 0: if n == 7: return True return False if n % 11 == 0: if n == 11: return True return False if n % 13 == 0: if n == 13: return True return False if n % 17 == 0: if n == 17: return True return ..

words = [] for i in range(int(input())): words.append(input()) words = list(set(words)) words.sort() words.sort(key=len) for word in words: print(word) 리스트.sort(key=len)은 리스트를 길이를 기준으로 정렬하고, 리스트.sort()는 리스트를 알파벳을 기준으로 정렬한다.

회문(回文) 또는 팰린드롬(palindrome)은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열(sequence of characters) 등이다. 보통 낱말 사이에 있는 띄어쓰기나 문장 부호는 무시한다. 위키백과에서 인용했다. 이 문제는 입력받은 수가 팰린드롬인가 아닌가를 판별하는 문제이다. test_case = [] while True: test_case.append(input()) if test_case[-1] == "0": del test_case[-1] break for i in range(len(test_case)): if "".join(reversed(list(test_case[i]))) == test_case[i]: print("yes") continue print("..

일본어 문제이다. 간단히 번역해 보자면, 조이의 키가 1년 전에는 A cm였다가 지금은 B cm가 됐다고 한다. 조이의 키가 얼마나 성장했는가에 관한 문제이다. 입력은 작년의 키가 첫째 줄에, 지금 키가 둘째 줄에 입력된다. a = int(input()) b = int(input()) print(b-a) 문제는 간단한 문제였지만, 내 일본어 실력이 꽤 늘어 이런 글을 읽고 무슨 뜻인지 알 수 있었다는 것이 기쁘다.

의 A번 문제이다. a = int(input()) b = list(map(int, input().split())) c = list(map(int, input().split())) print(len(b)*c[0]//100, end=' ') n = 0 for i in range(len(b)): if b[i] >= c[1]: n += 1 print(n) 퍼센트 계산법을 몰라서 좀 해맸다... ww 전체값의 몇 퍼센트를 구하려면 "(전체값) * (퍼센트) / 100" 공식을 사용하면 된다.

...? 열심히 구글링해 보았다. 예능에 가까운 문제... (웃음) 이 노래의 이름은 Hymn To Love이다. print("Hymn To Love") ㅋㅋㅋ. 이런 문제가 다 있네.

수가 주어지면 그 수를 5와 3으로 딱 떨어지게 나누는데, 가장 최소값이 나오게 나누라는 문제이다. kg = int(input()) hihi = kg // 5 while True: if (kg - hihi*5) % 3 == 0: print(hihi + (kg - hihi*5) // 3) break hihi -= 1 if hihi == -1: print(-1) break 우선 수를 입력받은 뒤, 그 수를 5로 나누어 hihi 변수에 저장한다. 그 뒤에 나온 나머지를 3으로 나눠서 나누어떨어지면 hihi와 그 뒤에 나온 나머지를 3으로 나눈 몫을 더하여 출력한다. 만약 3으로 나누어떨어지지 않으면 hihi 변수를 1 줄인다. 만약 절대 5와 3으로 나누어떨어지지 않고 hihi가 -1이 되었을 경우에는 -1을..

numbers = list(map(int, input().split())) hihi = 0 for number in numbers: hihi += number ** 2 print(hihi % 10) 고유번호 5자리를 입력받은 후, 그 숫자들의 제곱수를 hihi 변수에 저장한다. 그 뒤 hihi를 10으로 나눈 나머지를 출력하는 코드이다. 나는 hihi라는 변수명을 자주 쓴다. 뭔가 변수명을 뭘로 할까 고민중인데 좋은 아이디어가 안 날때, a나 b를 쓰는 사람들도 있던데 나는 hihi와 hehe, haha와 같은 변수명을 자주 쓰는 편이다.

1) HTML. HTML이란, Hypertext Markup Language의 약자로, 웹 문서를 기술하기 위해 사용하는 국제 표준 언어이다. ASCII 코드로 구성된 일반적인 텍스트 형태이며, 에디터, 워드프로세서, 홈페이지 제작 도구를 통해 작성된다. 파일 확장자는 .html 또는 .htm이지만 일반적으로 .html이 사용된다. HTML은 마크업 언어로써 태그를 사용하는데, 그는 시작 태그와 종료 태그가 한 쌍을 이루어 사용된다. 그러나 태그와 같이 종료 태그가 없는 태그도 있다. 태그명은 대소문자를 구분하지 않는다. 2) DHTML, XML, XHTML. DTML이란 Dynamic HTML의 약자로, 이도 HTML과 같이 웹 문서를 기술하기 위한 국제 표준 언어이다. HTML의 단점을 개선한 것으로..

저번에 백준의 8393번 문제를 풀며 이 공식에 관한 이야기를 잠시 했다. 오늘 그 이유를 증명해보고자 한다. 시작하기 앞서, 이 공식은 고등학교 수학I의 수열 단원에 나오며, 그 이름도 유명한 가우스가 사용했던 공식이라고 한다. 우선 공차가 1인 등차수열 A가 있다고 생각해보자. 첫째항이 a, 공차가 d인 등차수열의 일반항은 An = a + (n - 1)d 이므로, An = n 이다. 그렇다면 1부터 n까지의 이 수열은 {1, 2, 3, 4, 5, 6, 7, 8, ... , n-3, n-2, n-1, n} 이 될 것이다. 그렇다면 1부터 n까지의 합을 구하려면, 1부터 n까지 직접 더하는 방법이 있다. 그렇지만 이 방법은 너무나 비효율적이다. s = 0 n = int(input()) for i in r..

answer = 0 for i in range(1, int(input())+1): answer += i print(answer) 1부터 n까지의 합을 출력하였다. 사실 나처럼 풀어도 되지만 1부터 n까지의 합은 {n(n+1)}/2 라는 공식을 이용해 풀어도 된다. 사실 이렇게 공식을 사용하는 방법이 더 효율적인 방법이다.

answers = [] while True: a = list(map(int, input().split())) if a == [0, 0]: break answers.append(a) for answer in answers: print(sum(answer)) while문과 for문을 같이 사용했다. (사실 늘 이렇게 문제를 풀고 어떤 코멘트랄까 썰을 푸는데 이 문제에는 진짜로 뭘 남길게 없다..ㅠㅠ)

ab = list(map(int, input().split())) print(sum(ab)) print(ab[0]-ab[1]) print(ab[0]*ab[1]) print(ab[0]//ab[1]) print(ab[0]%ab[1]) 그저 사칙연산을 슥슥 하면 되는 문제였다.

a = int(input()) b = list(map(int, list(input()))) print(a * b[2]) print(a * b[1]) print(a * b[0]) print(a * b[2] + a * b[1] * 10 + a * b[0] * 100) (3)은 a*(b의 1의자리 수)이고, (4)는 a*(b의 10의자리 수)*10이고, (5)는 a*(b의 100의자리 수)*100, (6)은 (3)+(4)+(5)이다.

grade = int(input()) if grade = 90: print("A") elif grade = 80: print("B") elif grade = 70: print("C") elif grade = 60: print("D") else: print("F") 이제 2022년이지만, 얼마 전 2021년에 중학교 2학년이던 나는 영재원에 다녔었다. 정보영재원이어서 컴퓨터실에서 수업하고 막 논문도 쓰고 프로그래밍 대회도 하고 그랬었는데(그때 쓴 소논문으로 대회 나가서 금상(도지사상)도 받았었다는...), 나한테는 생각보다 시시했었다. 논문 쓰고 팀작업 하는건 재밌었는데 역시 프로그래밍 수업 듣는건 다 아는 내용이라... 알고리즘 수업은 역시 좀 어렵긴 했지만. (알고리즘은 다시 공부해야 한다고 생각한다...

print(sum(list(map(int, input().split())))) 마치 "파이썬 만세!" 라고 외치고 싶은 문제다.

내가 지금껏 백준에서 푼 더하기 관련 문제가 10개가 넘어가는 것 같다. 다 입력 형식만 바꿔서 똑같은 문제들이다. answers = [] for i in range(int(input())): input() answers.append(sum(list(map(int, input().split())))) for answer in answers: print(answer) 입력받아서 출력하는게 끝인 간단한 코드이다.

마치 Hello, World 출력하기와 난이도가 같은 문제이다. print("고려대학교") (웃음)

test_case = [] while True: a = list(map(int, input().split())) if a == [0, 0, 0]: break test_case.append(a) for i in range(len(test_case)): if test_case[i][0]**2 + test_case[i][1]**2 == test_case[i][2]**2 or test_case[i][1]**2 + test_case[i][2]**2 == test_case[i][0]**2 or test_case[i][0]**2 + test_case[i][2]**2 == test_case[i][1]**2: print("right") else: print("wrong") 피타고라스 정리는 삼각형의 세 변 a, b, c..

for i in range(1, int(input())+1): print(i) 1부터 N까지 출력하는 문제였다.

print("|\_/|") print("|q p| /}") print('( 0 )"""\\') print('|"^"` |') print("||_/=\\\\__|") 저번에 풀었던 문제 고양이와 같은 문제이다. 파이썬에서 " 혹은 '를 출력하고 싶을 경우, 큰따옴표는 ''로, 작은따옴표는 ""로 묶어 주면 된다.

print("\\ /\\") print(" ) ( ')") print("( / )") print(" \\(__)|") 파이썬에서 역슬래시는 이스케이프 문자를 시작할 때 쓰는 기호로, 그냥 역슬래시만 쓰면 출력되지 않는다. 역슬래시를 출력하려면 역슬래시를 두 번 입력해야만 한다.

X와 수열 A를 입력받아 A 중 X보다 작은 수를 출력하는 문제이다. x = list(map(int, input().split()))[1] a = list(map(int, input().split())) output = [] for i in range(len(a)): if a[i] < x: output.append(a[i]) print(" ".join(map(str, output)))

for i in range(1, int(input())+1): print("*" * i) print() 문에는 * 기호를 쓸 수 있는데, 이 경우 한 줄에 어떤 문자열을 몇 번 반복하여 출력하라는 의미가 된다.

answer = 0 for i in range(2): answer += int(input()) print(answer) 입력받은 것을 answer 변수에 더하는 식으로 만들어 보았다. 그냥 a와 b를 입력받고 그 합을 출력하는 식으로 하면 사실 1줄만에 해결할 수도 있다. print(int(input()) + int(input()))