본문 바로가기

Algorithm272

[ 파이썬(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.
[ 파이썬(python) ] 백준 5597 - 과제 안 내신 분..? 📍 백준 5597 - 과제 안 내신 분..? 백준 5597 - 과제 안 내신 분..? ⚡️ 나의 풀이 두 가지 방법으로 풀었는데 입력값을 list로 만들어 반복문을 선언하고 해당 i가 전체 범위인 students안에 있는지 확인하고 없는 값들을 출력하게 만들었다. 전체 범위와 입력값을 모두 set형으로 선언한뒤 서로 빼주고 sorted했다. 문제를 자세히 보면 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하라고 되어있는데, 문제 의도는 1번보다는 2번 코드에 더 가깝다고 볼 수 있다. 왜냐하면 sorted를 사용해서 작은 수부터 출력하기 때문이다. # case 1 students = list(range(1, 31)) report = [int(input()) for i in range(28)] p.. 2021. 4. 26.
[ 파이썬(python) ] 백준 20053 - 최소, 최대 2 📍 백준 20053 - 최소, 최대 2 백준 20053 - 최소, 최대2 ⚡️ 나의 풀이 주어진 테스트 케이스만큼 while문을 사용하여 각 케이스마다 입력을 받아 최소, 최대 값을 출력하게 만들었다. import sys input = sys.stdin.readline T = int(input()) while T: N = int(input()) arr = list(map(int, input().split())) print(min(arr), max(arr)) T -= 1 2021. 4. 26.