본문 바로가기

Python

[Python] 백준 알고리즘 문제풀이 :: 9020번 백준 알고리즘 9020번 골드바흐의 추측 문제풀이. 소수 분류에 있는 문제를 풀면서 시간초과가 엄청 많이 났다. 심지어 가장 시간 오래 걸릴 것 같은 경우를 파이참으로 돌렸을 땐 잘 나와도 백준에서 돌리면 시간초과가 나오는 경우가 많았다. 고생 좀 했다. 골드바흐의 추측은 2보다 큰 모든 짝수를 두 소수의 합으로 나타낼 수 있다는 것이다. 10000 이하의 수는 이미 증명이 됐다. 그에 해당하는 소수 조합을 출력하는 문제다. 문제 https://www.acmicpc.net/problem/9020 풀이 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import sys primes = []for i in.. 더보기
[Python] 백준 알고리즘 문제풀이 :: 9012번 파이썬을 이용한 백준 알고리즘 9012번 괄호 문제풀이. 스택으로 분류되어 있는 걸 생각하면 쉽게 풀린다. 그런데 스택을 생각하지 못한다면 은근 복잡하게 느껴지는 문제. 한 3분 이거 규칙을 어떻게 파악하지 생각했다. 그러다 문득 스택 문제집에 들어있다는 걸 생각하니 바로 해결책이 떠올랐다. 문제 https://www.acmicpc.net/problem/9012 풀이 1234567891011121314151617181920212223242526import sys tc = int(sys.stdin.readline()) for t in range(0, tc): flag = 1 stack = [] ps = sys.stdin.readline().rstrip() for i in range(0, len(ps)): .. 더보기
[Python] 백준 알고리즘 문제풀이 :: 2448번 몇 주를 고민했던 문제다. 프랙탈을 구현하는 문제. 쉬워보이면서도 막상 파이썬으로 구현하려고 하면 쉽지 않았던 문제다. 풀릴 듯 계속 안 풀리던 문제였는데 연휴에 하루 날 잡고 풀어버렸다. 백준 단계별 풀기를 처음부터 순서대로 쭉 풀다가 처음으로 막혀서 건너뛴 문제였다. 드디어 풀어버려서 기분이 좋다. 막상 마음먹고 고민하니깐 어렵지 않게 풀려서 희한했다. 풀 수 있다, 없다라는 마음가짐이 가져오는 결과의 차이를 보여주는 문제였다. 특히나 처음 시도했을 때와의 차이점은 재귀에 어느 정도 익숙해졌다는 것이다. 재귀를 말로만 들으면 쉬운데 막상 이를 활용해서 어떤 알고리즘을 구현하려면 생각만큼 쉽지 않다. 프랙탈 문제를 풀었다는 게 어느 정도 재귀를 활용할 수 있게 됐다는 증거라고 생각된다. 음 그리고 태도.. 더보기
[Python] 백준 알고리즘 문제풀이 :: 1094번 C로는 SW Expert Academy 문제를, 파이썬으로는 백준 문제를 푼다. 각각 1일 1문제를 풀기로 했고 거의 지키고 있다. 다만 블로그 업로드는 아무래도 C를 많이 올리게 됐다. 코드도 좀 더 길고 복잡하다보니 할 말이 많아서. 오랜만에 파이썬 문제를 하나 풀린다. 막대기 문제. 본질은 이진법으로 숫자를 구현하는 문제다. 재귀를 썼다. 문제 https://www.acmicpc.net/problem/1094 풀이 123456789101112131415import sys def stickAdder(x, stick, cnt, idx): unit = [64, 32, 16, 8, 4, 2, 1] if stick+unit[idx] == x: print(cnt) elif stick+unit[idx] 더보기
[Python] 백준 알고리즘 문제풀이 :: 4673번 백준 알고리즘 문제풀이. C를 배우기 전에 시작해서 파이썬으로 풀었다. 앞으로 SW 아카데미 문제는 C로, 백준 문제는 파이썬으로 풀어 블로그에 정리하려고 한다. 문제 https://www.acmicpc.net/problem/4673 1234567891011121314151617def d(n): total = 0 total += n for i in range(0, len(str(n))): total += int(n/10**i)%10 return total tc = []for i in range(10000): tc.append(d(i)) for j in range(10000): if j in tc: pass else: print(j) Colored by Color Scriptercs 더보기
[웹] 무료로 쉽게 파이썬 배울 수 있는 점프 투 파이썬 작년에 처음 배운 프로그래밍 언어가 파이썬이다. 왜 배우기 시작했는지는 잘 모르겠다. 지금 파이썬 공부한 책을 다시 보니 6월 5일쯤에 시작했다고 되어있다. 한국 온 게 6월 1일인데. 그 파이썬 교재를 지금 다시 복습하고 있다. 그러다가 문득 점프 투 파이썬 사이트를 들어가보았다. 내용이 완전 똑같다. 인터넷의 점프 투 파이썬 사이트에 올린 강의를 모아서 책으로 낸 건 알고 있었다. 그런데 그냥 그대로 복사 붙여넣기 한 줄은 몰랐다. 어느 정도 편집 등등이 있지 않을까 싶었다. 나는 책 모으는 재미가 좋아서, 그리고 책으로 진도 나가고 한 권을 다 끝내는 재미가 어차피 샀겠지만, 돈을 아끼고 싶다면 점프 투 파이썬에서 쉽게 배울 수 있다. 사실 아무 것도 모르고 처음 배운다면 Codecademy의 파이.. 더보기
[웹] 비전공생도 쉽게 코딩 공부할 수 있는 코드카데미 HTML/CSS는 잠시 쉬고, 오늘은 공부하기 좋은 웹사이트 하나를 추천 겸 소개하려고 한다. Codecademy다. 너무도 정직한 코드를 배우는 학원이라는 네이밍이다. 유투브나 MOOC, 각종 책과 출판사에서 제공하는 무료 강의 등 공부할 수 있는 소스가 너무나 많은 세상이다. 그 중에서도 코딩 기초를 배우기에는 가장 편리한 소스라고 생각한다. 직접 타이핑을 하고 바로 코드 검사를 해주는 웹 어플리케이션으로 학습하기 때문이다. 코드카데미에서 다양한 언어들을 '무료로' 배울 수 있다. 무료라는 점도 좋지만, 인터페이스가 좋아 깔끔한 학습을 경험할 수 있다. 최근에 리뉴얼을 하면서 유료 코스도 생겼는데 그건 안 해봐서 잘 모르겠다. 특정 카테고리에 대해 필요한 부분만 심화해서 배우는 것 같다. 기본 무료 .. 더보기
[책] Do it! 점프 투 파이썬 :: 파이썬 기초 문법을 배우기 좋은 교재 작년부터 프로그래밍에 관심이 생겼다. 조금씩 알아보다보니 프로그래밍의 세계는 정말 무궁무진했다. 프로그래머라면 모두 C++과 자바를 배우는 줄 알았었다. 하지만 듣도보도 못한 많은 프로그래밍 언어들이 있었다. 파이썬, 자바스크립트처럼 어디서 이름이라도 들어본 것 같은 건 굉장히 인기있는 언어라는 것을 알았다. 파이썬은 무수히 많은 프로그래밍 언어 중 상당히 대세다. 그 이유는 매우 쉽기 때문. 문법이 굉장히 직관적이고 간단하다. 그래서 프로그래밍 교육용 언어로 널리 활용되고 있다. 우리 학교도 15학번인가 16학번인가부터 프로그래밍이 교양 필수로 지정되었다고 들었다. 그 때 파이썬을 쓴다고 한다. 파이썬은 쉽지만 성능이 떨어지는 언어는 아니다. 머신 러닝, 데이터 마이닝, 웹 크롤링 등에 사용된다. 빅데.. 더보기