백준(31)
-
괄호 [ Python ] [ 백준 : 9012 ]
풀이 및 회고 오랜만에 괄호문제를 풀었는데 생각보다 손이 잘 나가지 않았다. 머리로는 알고있는데 구현이 잘 안되는 느낌을 많이 받았다. 알고리즘 문제를 풀때 머리로 알고있는 느낌을 주석으로 더 많이 자세히 적으면서 풀어야겠다. 그리고 NO 를 출력해야되는데 No 를 출력문에 써놔서 여러번 틀렸다.. ㅠ 우선 문제는 괄호를 어떻게 검증할 것이냐는건데 스택을 활용해 검증을 한다. 빈 스택에 여는 괄호면 값을 넣고 닫는 괄호일 경우 여는 괄호를 제거해 주는데 만약 스택에 값이 없다면 NO 를 출력하고 종료한다. 최종적으로 루프가 끝난 후 스택에 값이 있으면 NO 를 출력하고 값이 없다면 YES 를 출력한다. # 괄호 # 테스트를 몇 번 할지 입력받는다. # 반복문을 선언해 괄호를 넣는다. # 괄호를 저장할 리..
2023.06.01 -
수학은 비대면 강의입니다 [ Python ] [ 백준 : 19532 ]
풀이 및 회고 처음에 수학문제여서 좌절했었던 문제였으나 문제를 30분 동안 지켜보고 곱씹은 결과 반복문을 돌려보기로 마음먹었다. -999, 부터 999 까지로 설정해서 했는데 틀렸습니다. 가 발생했다 왜인지 모르고 있다가 -999 , 1000 으로 바꿔주니 무난하게 통과할 수 있었다. 굳굳 # 수학은 비대면 강의입니다 a, b, c, d, e, f = map(int, input().split()) # ax + by = c # dx + ey = f for i in range(-999, 1000): for j in range(-999, 1000): if (a * i) + (b * j) == c and (d * i) + (e * j) == f: print(i, j) break
2023.05.31 -
체스 [ Python ] [ 백준 : 17122 ]
풀이 및 회고 문제를 5트 이상 시도한건 처음이다. 무엇보다 ord 를 알았을때 상실감은 컸다. 여러 파이썬 문법적으로 배운게 있었던 문제였으나 정답을 맞추고 다른사람의 풀이를 보았을때 허탈했다. 모든 과정을 코드에올린다. 하하하하. # 체스 # 1. 8x8 의 딕셔너리를 만든다. # 2. 딕셔너리의 키값 A #2차원 배열 만들자 !!!! # [[0] * 8] * 8 이렇게 중첩된 배열을 선언할 경우 얕은 복사가 일어나므로 하나만바꿔도 전부다 바꿘디. # list(n) # ******* 문자열을 리스트로 바꾸면 쉽게 분할할 수 있다. # 런타임 에러 코드 ============================ # board = [[0 for _ in range(8)] for _ in range(8)] # f..
2023.05.31 -
파도반 수열 [ Python ] [ 백준 : 9461 ]
풀이 및 회고 어떻게 오늘 푸는 문제들은 죄다 수학문제인것 같다. 정신이 나가버릴듯. 문제를 30~40분동안 곱씹어도 코드를 입력해 나갈 수가 없었다. 이러다가 수학문제 혐오증이 생길것만 같았다. 이전 피보나치 문제와 마찬가지로 정답을 한번 훝어보고 구현해보는 식으로 진행했다. 규칙성을 보았을때 어떻게 이문제를 보고 이런 규칙성을 뚝딱 찾을 수 있나 싶었다. 코드는 짧고 단순해 보이나 그 안의 내용은 쉽지 않은 느낌이다. 그래도 화이팅 # 파도반 수열 import sys T = int(sys.stdin.readline()) munyeol = [0 for i in range(101)] munyeol[0] = 1 munyeol[1] = 1 munyeol[2] = 1 for i in range(T): num ..
2023.05.30 -
최대공약수와 최소공배수 [ Python ] [ 백준 : 2609 ]
풀이 및 회고 사실 오늘 수학관련 문제로 많이 힘들었기에 기분전환으로 쉬운문제를 풀기로 하였다. 최대공약수는 math 라이브러리의 gcd 를 통해 구할 수 있고, 최소공배수는 math 라이브러리의 lcm 으로 구할 수 있다. 하지만 쉬운문제를 푼다고 기분이 나아지지는 않더라.. 오히려 허무했고 다음에 기분전환할때는 생각할 수 있는 문제를 풀어야겠다. 약간 자료구조 관련된걸로 ㅇㅇ # 최대공약수와 최소공배수 import math n,m = map(int, input().split()) print(math.gcd(n, m)) print(math.lcm(n, m))
2023.05.30 -
피보나치 함수 [ Python ] [ 백준 : 1003 ]
풀이 및 회고 처음은 보여지는 코드 그대로 파이썬으로 옮겨서 적었고 제출했다. 그러나 바로 시간초과 오류가 발생하였고 코드를 줄여야만 했는데 피보나치 수열을 모르는 나로써는 이는 너무 어려운일이었다. 30~40 분 동안 피보나치 수열이 무엇인지 찾아보고 줄일 수 있는 방법을 찾아보는데 실패했다. 매니저님의 수학관련 문제는 너무 시간을 많이 쏟지 말라고 들었다. 수학 공식을 모르면 풀 수 없기 때문에 답을 보고 학습을 하는 것을 추천하셨다. 우리는 답을 보았고 본 다음 이해하려하며 문제를 보고 적는 것이 아닌 이해한 바탕으로 문제를 적고 풀었다. 약간 오픈북느낌이라 조금 찝찝하긴 하다. 공부가 더 필요하다 # 피보나치 함수 # before================================== # z..
2023.05.30