본문 바로가기

# 공부/# 그 외 흥미로운 문제들10

[백준::1966 python3] 프린터 큐 23일엔가.. 21일엔가.. 아무튼 간만에 본가로 올라와서 하루도 안쉬고 사람들 만나면서 놀다가 지금 동탄역에서 기차 기다리는중.. 프린터큐가 생각나서 적어본다 오늘은 짧고 굵게 아는 동생에게 알려주려고 주석달아서 써놓은 코드를 공유한다. 때문에 긴 설명은 없음 (ㄱㅇㄷ) 간단하게 적기 1. 복합기 + 큐구조. 2. 입력은 테스트케이스 -> 문서의개수,조회할문서의인덱스 -> 우선순위들 3. 출력은 조회할 문서의 인덱스가 몇번째로 출력되는가? 여기서 내 주요 풀이 키워드는 이렇다. 1. 같은 우선순위의 처리 순서 2. 인덱스의 끝에 갔을때? 3. 조회의 수 일주일정도 된거같은데 가물가물..해서 이정도만.. 자세한건 코드 맨 하단의 주석을 보길 바란다. 우선 1. 같은 우선순위의 처리 순서란, 1 1 9 1.. 2021. 12. 30.
[백준::5430 python3] AC 최근 계속 하루에 하나씩 문제를 풀고있는데, 그 중 나름 짜증났거나 재밌었던 문제들을 가져오는 중이다. 이 문제는 짜증의 유형에 속하는데, 문제 자체는 간단한데 난해한 테스트케이스 뭐 좋게 말해야 난해한거고 사실 지랄맞은것이다. 그래서 이 문제를 풀이한사람들은 한번씩 욕한 흔적이 있다. 더보기 잡소리 이 문제는 장단점이 명확하다. 우선 장점의 경우, 겉보기에 간단해 보이는 문제지만 간과할 수 있는 실수와 경우가 생각보다 더 있고, 그걸 탐구하는 방법을 스스로 학습할 기회가 됐다. 그리고 단점은 문제 자체에 있는게 아니라, 사람에 있는거 같은데.. 굳이 출력까지 저렇게 걸러야했나 싶다. 문제를 만들어본 입장에서 테스트케이스 20개로 정답 걸러내는 프로세스만드는게 생각보다 쉽진 않지만 그렇다고 그렇게 어렵지.. 2021. 12. 21.
[백준::11652 Py] 카드 역대급 혈압오르는 문제였다. 애초에 로직이 복잡하면 모를까, 로직도 간단한데 도저히 어디서 걸리는줄 계산이 안됐다. 질문검색으로 가서 그곳에 있는 모든 글을 읽고 반례를 전부 가져와서 입력해봤다. 일부러 공백에 유니코드값이 몰래 붙을까봐 손으로 하나하나 입력했다. 검증도 몇번이나 거쳤는데 계속 틀렸다고 나와서 코드를 엎어버렸다. 하지만 틀린다면, 가장 틀릴법한곳이 존재했고, 그곳을 날려버리고 맨바닥에서부터 다시 시작하니 코드가 손쉽게 통과됐다. 솔직히 아직도 잘 모르겠다. 기존의 코드가 함수를 두개를 써서 약간 이리저리 얽히긴했는데, 흠.. 어쨋든 이 문제는 매우 간단하다. 일단 조건을 보면 1. 테스트케이스 N은 최대값이 10만이다. 2. 입력 값 M은 -2^62 ~ 2^62까지 범위이다. (Big N.. 2021. 12. 11.
[백준::1735 Py] 분수합 배가고프니 간결하게 설명하겠다. 분수합을 다 알겠지만 말로 풀고 그걸 코드로 적으면 된다. 1. 분모의 크기를 맞춘다. 2. 분자도 분모따라서 * n을 해준다. 3. 분자끼리 더한다. 4. 약분해준다. 일단 내 경우는 두개의 리스트를 두어서 0번지엔 분자 / 1번지엔 분모가 들어가게 했고 denominator(분모)를 몇으로 해야하냐인데 최소공배수를 구해주면 간단하다. 보통 우린 분모끼리 곱하고 분자도 똑같이 해주고 약분을 하는데 뭐 그렇게 해도 사실 상관은 없다. 근데 난 있는 환경을 최대한 활용하기 위해 math를 불러와서 lcm(최소공배수함수)를 사용했다. 아무튼 예제처럼 2 7 3 5 라고 하자 분모를 맞춰주면 35가 되고, 2*5와 3*7이 나온다. 색칠 되어있는 수를 구하려면 서로 교차해서 넣.. 2021. 12. 9.