목록분류 전체보기 (184)
이숭간 공부기록
https://www.acmicpc.net/problem/status/1715 1715번 맞은 사람 - 1 페이지 모든 언어 C++17 Java 8 Python 3 C11 PyPy3 C99 C++98 C++11 C++14 Java 8 (OpenJDK) Java 11 C++20 Python 2 PyPy2 Ruby Kotlin (JVM) Kotlin (Native) Cython Swift Text C# 9.0 (.NET) node.js Go Go (gccgo) Java 15 D D (LDC) F# (Mono) PHP Rust 2015 Rust 2018 Pa www.acmicpc.net 문제유형 : 그리디, 우선순위큐 문제풀이 : 앞에서 더한카드의 숫자가 계속해서 누적되기 때문에 가장 작은 카드들부터 2개씩 ..
https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 문제유형 : 그리디 문제풀이 : 가장 자릿수가 큰 숫자의 길이만큼 모든 숫자의 길이를 늘려준다. (rjust이용해서 오른쪽 정렬후 앞자리에 의미없는 문자 삽입 ) 자릿수가 큰 숫자부터 차례대로 순서를 부여한다. 9부터 이렇게 풀면 ,AB 와 BB와 같은 경우를 해결하지못함, 해결하려면 경우의수를 다 따져가며 결국 완탐느낌이 되버림 < 정답풀이..
https://www.acmicpc.net/problem/2262 2262번: 토너먼트 만들기 월드시에서는 매년 n명의 사람들이 모여 월드 크래프트라는 게임의 토너먼트 대회를 치른다. 이 게임은 특성상 실력만이 승패를 좌우하기 때문에, 아무리 실력이 엇비슷한 사람이 시합을 치러 www.acmicpc.net 문제유형 : 그리디 문제풀이 : 랭킹이 가장 낮은사람부터 찾은뒤, 좌우중에 랭킹차가 작은사람과 겨루게 한다. 랭킹이 가장 낮은사람부터 찾는이유?? :랭킹이 높은사람부터 찾고 랭킹차가 작은 사람과 겨루게하면 다음 라운드에서 만나게될 사람은 이전사람보다 더 랭킹차가 큰 사람일것이므로 그 차이가 점점더 커지게된다. 랭킹이 낮은사람을 찾고 겨루게한뒤에는 해당사람은 무조건 지게되있으므로 pop후에 리스트에서 없..
https://www.acmicpc.net/problem/1461 1461번: 도서관 첫째 줄에 책의 개수 N과, 세준이가 한 번에 들 수 있는 책의 개수 M이 주어진다. 둘째 줄에는 책의 위치가 주어진다. N은 10,000보다 작거나 같은 자연수이고, M은 10,000보다 작거나 같다. 책의 위치 www.acmicpc.net 문제유형 : 그리디 문제풀이 : 양수와 음수를 기준으로 나눈다. 각각에 대해서 절댓값이 큰것부터 m만큼 묶어서 처리한다. 이때 전체중에서 가장 절댓값이 큰 부분은 갔다가 돌아오지 않게 처리해야하므로 마지막에 한번 빼주면 된다. 나는 m이 음수갯수와 양수갯수 모두보다 큰경우 따로 처리를 해줫는데 안해줘도 되긴한다. 정답코드 : import sys input = sys.stdin.re..
https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 문제유형 : 문자열, 구현 문제풀이 : 처음에 재귀호출해서 dfs처럼 완전탐색으로 풀었는데 시간과가 났다. 이 문제는 s -> t 에서 반대로 생각해서 t->s로 풀었어야하는 문제다. 이 한줄만 생각나도 2분컷 가능한 문제 ㅜ 거꾸로 생각한다는 발상을 왜 못하니..엉엉 이제 알았으니 잘 기억하자! 정답코드 import sys input = sys.stdin.r..
https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 문제유형 : 그리디, 정렬, 이분탐색 문제풀이 : 일반적인 그리디로 그냥 풀엇을때보다 이분탐색으로 풀면 10배정도 시간이 줄어든다. bisect 라이브러리를 이용하여 해당 크레인이 버틸수있는 무게의 가장 큰값을 찾을 수 있도록 했다. 삽질.. 분명 맞는거같은데 시간초과가나서 헤맸는데 알고보니까 맨처음 예외처리를 안해줘서 그랬다. ㅜㅜ... 하ㅏㅏㅏㅏㅏㅏㅏ 최대무게를 버틸수있는 크레..