Algorithm

    [백준 / Python 파이썬] 23082번 - 균형 삼진법

    [Silver II] 균형 삼진법 - 23082 문제 링크 분류 구현, 수학 문제 설명 균형 삼진법은 밑이 3\(3\)이고, 자릿수가 0\(0\), 1\(1\), −1\(-1\)로 이루어진 기수법이다. 이를 이용해 별도의 부호를 사용하지 않고서도 모든 정수를 유일한 방법으로 나타낼 수 있다. 십진수를 입력 받아 균형 삼진법으로 출력하는 프로그램을 작성하시오. 입력 십진법으로 나타낸 정수 N\(N\)이 주어진다. 출력 문제의 정답을 출력한다. 자릿수가 −1\(-1\)이라면 대신 'T'를 출력한다. N = int(input()) if N == 0: print(0) exit() flag = 0 if N 0: R = N % 3 if ..

    [백준 / Python 파이썬] 20310번 - 타노스

    [Silver III] 타노스 - 20310 문제 링크 성능 요약 메모리: 31256 KB, 시간: 40 ms 분류 그리디 알고리즘, 문자열 문제 설명 어느 날, 타노스는 0과 1로 이루어진 문자열 S를 보았다. 신기하게도, S가 포함하는 0의 개수와 S가 포함하는 1의 개수는 모두 짝수라고 한다. 갑자기 심술이 난 타노스는 S를 구성하는 문자 중 절반의 0과 절반의 1을 제거하여 새로운 문자열 S′를 만들고자 한다. S′로 가능한 문자열 중 사전순으로 가장 빠른 것을 구하시오. 입력 문자열 S가 주어진다. 출력 S′로 가능한 문자열 중 사전순으로 가장 빠른 것을 출력한다. N = input() odd = N.count("1") // 2 even = N.count("0") // 2 N = list(N) ..

    [백준 / Python 파이썬] 17451번 - 평행 우주

    [Silver III] 평행 우주 - 17451 문제 링크 분류 그리디 알고리즘, 수학 문제 설명 서기 2XXX년, 지구가 소행성과 충돌할 위기에 처했다! 똑똑한 과학자 키파는 평행 우주를 누비며 지구를 대신할 행성을 찾는 막중한 임무를 맡게 되었다. 우리는 현재 지구(=행성 0)에 있다. 여러 요인을 고려한 결과, 행성 1, 행성 2, …, 행성 (n-1)을 순서대로 확인하고 지구(=행성 n)에 돌아오는 것이 비용상 최적임을 알아냈다. 모든 정수 1 ≤ i

    [백준 / Python 파이썬] 12842번 - 튀김 소보루

    [Silver II] 튀김 소보루 - 12842 문제 링크 분류 브루트포스 알고리즘, 구현 문제 설명 영선이는 대전에 내려갔다 서울 오는 길에 튀김 소보루 n개를 사왔다. (1 ≤ n ≤ 100,000) 영선이가 SCCC 회원들에게 나누어 주기 위하여 001에 두고 잠깐 나갔다 온 사이에 온전한 튀김 소보루는 s개가 남아 있었다.(먹기 위해 집어 든 튀김소보루는 제외한다) 영선이가 자리를 비운 동안 001에는 m명이 있었고, 각 사람은 1부터 m번까지 번호가 매겨져 있다. 영선이는 평소에 SCCC 회원들과 식사를 자주해서 식사 속도를 알고 있다. 이를 바탕으로 튀김 소보루 1개를 먹는데 걸리는 시간을 유추할 수 있다. 영선이를 위해 이 정보들을 바탕으로 마지막으로 튀김 소보루를 집어 든 사람의 번호를 구..

    [백준 / Python 파이썬] 22994번 - 이미지 축소

    [Silver II] 이미지 축소 - 22994 문제 링크 분류 브루트포스 알고리즘, 유클리드 호제법, 구현, 수학, 정수론 문제 설명 세로 n 픽셀, 가로 m 픽셀로 구성된 직사각형 형태의 이미지가 있다. 정휘는 적당한 자연수 i,j를 선택해서 이미지의 세로 길이를 i배, 가로 길이를 j배 확대해서 세로 ni 픽셀, 가로 mj 픽셀 이미지를 만들었다. 하지만 모종의 이유로 원본 이미지가 삭제되어 여러분들에게 원본 이미지 복원을 요청했다. 확대된 이미지가 주어지면 가능한 원본 이미지 중 가장 작은 원본 이미지를 구해서 출력하라. 이때, 구현의 편의를 위해 각 픽셀의 정보는 알파벳 소문자 (a, b, ... , z; 아스키 코드 97-122) 로 표현한다. 입력 첫째 줄에 확대된 이미지의 크기를 나타내는 ..

    [백준 / Python 파이썬] 2852번 - NBA 농구

    [Silver III] NBA 농구 - 2852 문제 링크 분류 구현, 문자열 문제 설명 동혁이는 NBA 농구 경기를 즐겨 본다. 동혁이는 골이 들어갈 때 마다 골이 들어간 시간과 팀을 적는 이상한 취미를 가지고 있다. 농구 경기는 정확히 48분동안 진행된다. 각 팀이 몇 분동안 이기고 있었는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 골이 들어간 횟수 N(1

    [백준 / Python 파이썬] 2594번 - 놀이공원

    [Silver III] 놀이공원 - 2594 문제 링크 분류 구현, 스위핑 문제 설명 놀이공원에서 여러 개의 놀이기구를 맡아 일하는 세혁이와 근영이는 서로 좋아하는 사이이다. 그들은 쉬는 시간을 이용하여 둘만의 시간을 가지기를 원한다. 그래서 매일 일과 시작 전에 놀이기구의 운영 일정을 보고, 그날 둘이 함께할 수 있는 가장 긴 휴식시간이 언제인지를 찾으려고 한다. 놀이공원에서 일하는 모든 사람들은 어떤 놀이기구가 작동을 시작하기 10분 전부터, 모든 놀이기구가 작동을 멈춘 후 10분 후까지는 쉴 수 없고, 그 나머지 일과 시간에만 쉴 수 있다. 하루 일과를 시작하는 시각은 오전 10시이고, 일과를 마치는 시각은 오후 10시이다. 예를 들어 세 개의 놀이기구가 작동하는 시간이 다음과 같다고 하면, 놀이기..

    [백준 / Python 파이썬] 13414번 - 수강신청

    [Silver III] 수강신청 - 13414 문제 링크 분류 자료 구조, 해시를 사용한 집합과 맵, 구현 문제 설명 국민대학교에서는 매 학기 시작 전 종합정보시스템에서 수강신청을 한다. 매 수강신청마다 아주 많은 학생들이 몰려 서버에 많은 부하가 가기 때문에, 국민대학교에서는 수강신청 부하 관리 시스템을 도입하기로 결정하였다. 새로운 관리 시스템은 다음과 같은 방식으로 동작한다. 수강신청 버튼이 활성화 된 후, 수강신청 버튼을 조금이라도 빨리 누른 학생이 대기목록에 먼저 들어간다. 이미 대기열에 들어가 있는 상태에서 다시 수강신청 버튼을 누를 경우 대기목록의 맨 뒤로 밀려난다. 잠시 후 수강신청 버튼이 비활성화 되면, 대기목록에서 가장 앞에 있는 학생부터 자동으로 수강신청이 완료되며, 수강 가능 인원이..