본문 바로가기

Algorithm/백준(BOJ)111

[ 파이썬(python) ] 백준 10250 - ACM 호텔 📍 백준 10250 - ACM 호텔 백준 10250 - ACM 호텔 ⚡️ 나의 풀이 사칙연산 + 구현 문제다. 쉬운 문제인 줄 알고 도전했으나 생각보다 쉽지 않았다. 또, 정답 비율이 높지 않았는데 이유를 알 것 같았다. 문제에서 가로 x 세로형태로 나오길래 2차원 배열로 초기화하는 문제인가? 했는데 아니었다. 이 문제의 핵심은 N을 H로 나눴을 때 나누어 떨어지는지 아닌지의 경우를 잘 생각하면 풀 수 있는 문제다. 크게 두 가지로 나눠서 풀면된다. 층 수를 구하는 식, 방 번호를 구하는 식 층 수: N번째 방의 층을 구할 때는 N을 H(층)으로 나눈 나머지를 구하면 된다. 이때 N이 H로 나눈 나머지가 0이 아니라면 나머지를 H층으로 선언해주고 0이라면 H층이므로 H로 선언해준다. 예를들어 H, W, .. 2021. 5. 1.
[ 파이썬(python) ] 백준 14467 - 소가 길을 건너간 이유1 📍 백준 14467 - 소가 길을 건너간 이유 1 백준 14467 - 소가 길을 건너간 이유1 ⚡️ 나의 풀이 이번에도 defaultdict를 이용해서 풀었다. 1번부터 10번까지 빈 리스트를 선언한다. 소의 위치를 빈 리스트에 추가한다. cnt는 2번 이상 움직인 소부터 증가하기 때문에 해당 값만 따로 빼냈다. 1에서 0으로 이동한 소 혹은 0에서 1로 이동한 소만 cnt를 증가하게 설정했다. 예제 입력을 보면 소가 1 -> 0 -> 1 이렇게 이동하지 않고 1 -> 0 -> 0 -> 1 혹은 0 -> 1 -> 1 -> 0으로 이동했기 때문에 바로 다음칸의 원소를 확인하는 코드로 작성해도 오답 판정이 안 나는 것 같다. from collections import defaultdict n = int(in.. 2021. 4. 28.
[ 파이썬(python) ] 백준 1924 - 2007년 📍 백준 1924 - 2007 백준 1924 - 2007 ⚡️ 나의 풀이 날짜 맞추는 문제다. 저번에 풀었는데 오랜만에 풀려니까 까먹었다. 중간에 날짜를 7로 나눈 나머지를 구하는 것과 array에 전체 매 달을 넣고 구하는 것까지는 기억이 났는데, 그 이후에는 기억이 나지 않았다. 구해야하는 달 이전 달(x-1)까지 값을 더하고(sum) 구해야 하는 일(y)을 더한다. 전체 값을 7로 나눠주고 나머지값을 days에 붙여준다. 문제에 1월 1일이 월요일이라고 나와있어 days[1]부터 MON을 작성했다. x, y = map(int, input().split()) months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] days = ['SUN', 'MON', .. 2021. 4. 28.
[ 파이썬(python) ] 백준 1453 - 피시방 알바 📍 백준 1453 - 피시방 알바 백준 1453 - 피시방 알바 ⚡️ 나의 풀이 defaultdict(int)를 선언하고 arr의 인덱스들을 하나씩 더해줬다. 그리고 마지막에 lambda x: x-1을 사용해서 전체 1씩 빼주고 sum을 사용했다. 다른 사람의 풀이를 보니까 이렇게 어렵게 구현하지 않아도 풀 수 있는 문제였다. 전체 범위를 False처리 해두고 해당 index가 들어오면 True처리, 이후에도 또 들어오면 cnt+=1을 해줬다. 쉽게 풀 수 있는 것은 쉽게 풀자! # 나의 풀이 import sys from collections import defaultdict input = sys.stdin.readline n = int(input()) arr = list(map(int, input()... 2021. 4. 28.
[ 파이썬(python) ] 백준 20546 - 🐜 기적의 매매법 🐜 📍 백준 20546 - 🐜 기적의 매매법 🐜 백준 20546 - 🐜 기적의 매매법 🐜 ⚡️ 나의 풀이 문제가 생각보다 긴데, 다른 알고리즘 개념은 필요하지 않고 구현에 집중한 문제다. solved.ac에서는 브론즈 2라고 나와있는데, 나의 구현 실력은 아직 🥉 인가보다.. 푸는데 꽤 시간이 걸렸다. 구현 문제를 많이 풀어야겠다고 생각했다. 준현이와 성민이의 변수를 각각 선언했다. 준현이의 경우는 조금만 생각하면 금방 구할 수 있는데, 성민이의 경우 3일 연속 전일 대비 상승, 하락 부분이 힘들었다. 이 부분을 잘 구현하면 쉽게 풀 수 있는 문제다. 어떻게 풀었는지 다음을 살펴보자. 준현: 주식을 살 수 있다면 즉시 매수하기 때문에 현재 j_cash가 i보다 큰지 확인하고 크다면 새로운 변수 j_stock.. 2021. 4. 26.