본문 바로가기
[파이썬 알고리즘] 백준 1463 풀이 _ 동적프로그래밍 처음에 보고 도무지 어떻게 풀어야 할지 모르겠다는 느낌이 들었습니다. 그런데 보 다보다 고민하다 보니 점화식이라는 것을 알게 됐습니다. 점! 화! 식! 계단 올라가는 거죠 10칸짜리 계단을 올라가는데 올라갈 수 있는 방법이 세 가지라고 하는 거랑 같은 문제죠 예를 들어 2칸 올라간다, 3칸 올라간다, 1칸 내려간다 이 세가지 행동들을 최소한으로 취하여 올라가는 방법을 찾는 거조 여기서 포인트는 최소한의 횟수입니다.! 그러면 우리는 2칸짜리 계단 올라가는 것, 3칸짜리 계단 올라가는 것 등등을 계산하여 4칸짜리 계단 올라가는 문제는 2칸짜리 계단에서 2칸 올라가는 연산 한 번만 추가로 하면 최소한의 횟수로 올라가는 것을 알 수 있죠! 여기까지는 예시이고요 우리 문제에 대한 정확한 설명과 함께 풀어보도록 하.. 2022. 3. 22.
[파이썬 알고리즘] 백준 10991, 백준 10992 풀이 10991에서 막혔습니다. 구글에 찾아보았습니다. n = int(input()) for i in range(1,n+1): print(" " * (n-i) + "* " * (i-1) + "*") 마치 고등학교때 수학문제를 풀다가 답지를 봤는데 생각보다 너무 쉬워서 허탈한 그런 느낌적인 느낌입니다. (n-i)의 이용이 아주 유용하기 때문에 완벽한 이해와 함께 넘어가면 좋겠다는 생각을 했습니다. 하는김에 10992까지 풀어보겠습니다 아래코드가 완벽한 저의 스타일이네요 ㅋㅋㅋ 예외처리 없이 하면 참 좋을텐데 떠오르는 방법이 이런거 밖에 없는걸요~! n = int(input()) for i in range(1,n): if i ==1: print(" " *(n-i) +'*') else: print(" " * (n-.. 2022. 3. 2.
[파이썬 알고리즘] 백준 2242 풀이 2242에서 막혔습니다. 잘 모르겠습니다. 하하 for문을 두개 쓸까 세개쓸까 이런생각만 하고있었는데, 구글에서 찾아보고 새로운 것을 알아버렸습니다~ 뭔지는 알겠는데 짜라고 하면 못짜겠네요~ ㅋㅋㅋ 배웠으니 익히고 제것으로 만들어 보겠습니다~ x = int(input()) for i in range(1,x+1): y = ' '* (x-i) + '*'*(2*i-1) print(y) 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442,2445,2522,2446, 까지 클리어 10991, .. 2022. 2. 28.
[파이썬 알고리즘] 백준 10818 풀이 10818에서 막혔습니다. 처음에 시간 초과 에러가 나온 코드를 먼저 보여드리겠습니다. 너무 간단하게 생각해서 그냥 리스트에 다 때려 박고 min, max를 출력하면 되는 줄 알았습니다. n = int(input()) x = input() list = [] for i in range(n): list.append(x.split(' ')[i]) print(min(list),max(list)) 그래서 바꿔봤습니다! 조건을 걸어서 min max값을 업데이트하는것으로! 최소값과 최대값을 알려주었으니 맞춰서 업데이트 하는 형태로!! n = int(input()) x = input() min = 1000000 max = -1000000 for i in range(n): num=int(x.split(' ')[i]) i.. 2022. 2. 17.
[파이썬 알고리즘] 백준 11720 풀이 11720 에서 막혔습니다. 공백 없이 주어지는 숫자를 어떻게 해체해야하는지를 모르겠그등여 모르면 찾아봐야겠죠? 여기서 처음으로 함수(def)를 만들어서 사용하게 되네요! 다음과 같은 코드로 해결하게 됐습니다. def split(word): return [char for char in word] n=input() x=input() list=split(x) k=0 for i,l in enumerate(list): k+=int(l) print(k) 11721도 좀 절었습니다. 근데 어찌저찌 풀어냈습니다!! import math def split(word): return [char for char in word] x=input() list=split(x) for i in range(math.ceil(len(l.. 2022. 2. 16.
[파이썬 알고리즘] 백준 10951 풀이 제가 처음으로 막혔던 부분은 10951번 문제 입니다. 런타임 에러(EOFerror)로 잡혔네요 문제는 다음과 같고 제가 제출한 답은 아래 코드블럭으로 넣어봤습니다. while True: x = input() if x!='': A=int(x.split(' ')[0]) B=int(x.split(' ')[1]) print(A+B) else: break 실제로 코드를 실행하고 input을 넣으면 제대로 출력이 되긴 합니다. 하지만 EOFerror는 End of File error의 약자인데 제 코드를 보면 while이 계속 도는 상황에서 입력이 끝났음을 알리는 부분에 대한 처리가 enter를 한 번 더 눌러야만 하는데 이게 잘못된 것 같습니다. 그래서 EOF error라고 구글에게 물어보았어요 Try Exce.. 2022. 2. 15.
[알고리즘] https://plzrun.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4PS-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0 알고리즘 문제풀이(PS) 시작하기 이런건 고수들이나 써야 하지 않나 싶지만, 그래도 1년정도 공부하면서 이 분야를 어떻게 시작해야 할지 써보려 한다. 라고 운을 뗀다음 열심히 내 얘기만 했던 후속편이다. 내 인생사가 궁금하 plzrun.tistory.com 스터디원 분의 추천을 받아 알고리즘 공부할때 따라가면 좋은 커리큘럼? 을 소개해준 블로그를 알게됐습니다. 이렇게 출처를 여쭈지 않고 글을 올려도 되는지는 모르겠습니다만 일단 해당 블로그에서 소개.. 2022. 2. 14.