We will find a way, we always have.

-interstellar

백준 93

[백준] 10250번: ACM 호텔 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 💼서론 solved.ac에서 CLASS2+ 을 달성하기 위해 이문제를 풀어야하였다. 브론즈 3으로 쉬울거 같은 마음에 가볍게 잡았지만 변수가 있어 생각보다 오래걸렸다. 🧩문제 해석 먼저 온 손님부터 1열부터 w열까지 순서대로 채우는것이 손님이 가장 선호하는 자리를 주는 것이다. 📘풀이 1. 열부터 하나씩 채우는 것은 즉 n-h를 반복한다는 것이다. 2. 1번 동작을 n이 ..

[백준] 1417번: 국회의원 선거 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 💼서론 예~~전에 한번 봤다가 어케 푸는지 잘 모르겠어서 패스했던 문제다. 요즘 그리디 알고리즘을 배우고 있어서 다시 한번 도전해보았다. 구글링 없이 푸니까 나 자신 스스로도 성장했다고 느꼈다. 🧩문제 해석 다솜이는 국회의원이 되고 싶고 누가 누구를 뽑을지 알고 있다. 즉 다솜이 말고 다른 후보에게 투표하는 사람을 매수하여 자신을 투표하도록 만들어야 하는데 몇명을 매수해야 ..

[백준] 16165번: 걸그룹 마스터 준석이 - 파이썬

📎문제링크: https://www.acmicpc.net/problem/16165 16165번: 걸그룹 마스터 준석이 정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는 www.acmicpc.net 🎵서론 문제 이름보고 끌려서 택했다는...ㅎㅎㅎ 실버 3 치곤 쉬운편이었다 이상 케이팝 처돌이 🧩문제 해석 1. 데이터를 입력받고 dict() 타입으로 저장한다. 2. 원하는 값을 dict()의 기본 제공 함수를 사용하여 출력한다. 💻코드 import sys input = sys.stdin.readline # 입력받을 걸그룹의 수와 맞혀야 할 문제 수를 받음 n, m = map(i..

[백준] 1037번: 약수

N의 약수가 모두 구해졌을 때 N을 구하는 문제!! 📘풀이 1. N의 모든 약수가 주어지니 최대값과 최소값을 곱하면 N을 구할 수 있다. 2. 만약 N이 소수의 제곱수라면 약수는 제곱근 하나밖에 없다. 그래서 그것을 따로 처리해주었다. (지금생각해보니까 필요없는 작업이었을지도...?ㅎㅎ) 💻코드 n = input() measuar = list(map(int, input().split())) print(max(measuar)*min(measuar)) if len(measuar) != 1 else print(measuar[0]**2) 📎문제링크: https://www.acmicpc.net/problem/1037

[백준] 2179번: 비슷한 단어

정답 비율과 푼사람이 적었지만 문제 해결 알고리즘은 쉽게 생각나서 이 문제를 골랐지만 의외로 복잡했고, 코드가 지저분해졌었다. 그래서 다른 사람의 도움을 얻어보려 열심히 구글링을 해봤지만 맞힌 사람이 63명 밖에 없었고(2022.4.18기준) 파이썬으로 풀이를 적어둔 사람은 한명도 보지 못했다...ㅎㅎ 📘풀이 1. 입력된 단어들을 사전순으로 정렬한다. 이때 인덱스도 같이 저장해준다. 2. 정렬된 단어들을 한글자씩 비교해가면서 접두사의 길이가 최대인 경우를 찾는다. 3. 접두사의 길이가 최대이면서 가장 먼저 입력된 단어를 출력한다. 💻코드 n = int(input()) a = [input() for _ in range(n)] # n = 9 # a = ["noon", "is", "for","lunch","m..

[백준] 1010번: 다리 놓기

처음에는 단순히 itertoors에서 combinations를 import해서 사용했는데 예상했던대로 시간초과가 나왔다. (요즘 문제 푸는데 시간초과가 너무 많이 나와...ㅜ) 그래서! 조합을 combinations를 사용하는 것이 아니라 식을 factorial을 불러와서 조합의 경우의 수를 만들어 주었다. 📚 풀이 1. math 모듈을 가져와 factorial을 사용한다. 2. mCn 을 factorial을 사용해서 만든다면 => (m!/(m-n)!)/n! 3. 2번에서 사용한 식을 컴퓨터에서 실행하면 오차가 발생한다. (23 24 입력시 23.9999996이 나옴) 그래서 어차피 몫과 값이 다를리가 없기 때문에 /가 아닌 //를 사용해준다. 💻 코드 import sys, math input = sys..

[백준] 1924번: 2007년

월과 일이 주어졌을때 무슨요일인지 알아내는 프로그램이다. 처음부터 2007년이라는 연도가 주어졌기 때문에 조금은 쉽게 갔다. 만약 연도까지 입력값에 따랐다면 훨씬 더 복잡한 알고리즘으로 작성됐을 것이다. 📚 풀이 1. 입력받은 월(month)을 일로 변경하여 입력받은 일(date)과 더한다. 2. 더해진 일을 7로 나누어 나머지로 요일을 확인한다. 💻 코드 # PYTHON month, date = map(int, input().split()) # 매월의 마지막 일수 month_list = [31,28,31,30,31,30,31,31,30,31,30,31] day_list = ["MON","TUE","WED","THU","FRI","SAT","SUN"] days = 0 # 주어진 달의 이전달까지 모든 일을..