본문 바로가기

전체 글

(백준/파이썬) [Silver V] 비밀번호 발음하기 - 4659 [Silver V] 비밀번호 발음하기 - 4659문제 링크성능 요약메모리: 109108 KB, 시간: 92 ms분류구현, 문자열제출 일자2024년 8월 16일 07:33:51문제 설명좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtpzyo 같은 비밀번호를 무작위로 부여해 주기도 하지만, 사용자들은 이를 외우는데 어려움을 느끼고 심지어는 포스트잇에 적어 컴퓨터에 붙여놓는다. 가장 이상적인 해결법은 '발음이 가능한' 패스워드를 만드는 것으로 적당히 외우기 쉬우면서도 안전하게 계정을 지킬 수 있다.회사 FnordCom은 그런 패스워드 생성기를 만들려고 계획중이다. 당신은.. 더보기
(백준/파이썬) [Silver V] 덩치 - 7568 [Silver V] 덩치 - 7568문제 링크성능 요약메모리: 109240 KB, 시간: 88 ms분류브루트포스 알고리즘, 구현제출 일자2024년 8월 16일 07:09:45문제 설명우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56, 177), (45, 165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 .. 더보기
(백준/파이썬) [Silver V] 올림픽 - 8979 [Silver V] 올림픽 - 8979문제 링크성능 요약메모리: 110272 KB, 시간: 108 ms분류구현, 정렬제출 일자2024년 8월 16일 06:07:20문제 설명올림픽은 참가에 의의가 있기에 공식적으로는 국가간 순위를 정하지 않는다. 그러나, 많은 사람들이 자신의 국가가 얼마나 잘 하는지에 관심이 많기 때문에 비공식적으로는 국가간 순위를 정하고 있다. 두 나라가 각각 얻은 금, 은, 동메달 수가 주어지면, 보통 다음 규칙을 따라 어느 나라가 더 잘했는지 결정한다.금메달 수가 더 많은 나라금메달 수가 같으면, 은메달 수가 더 많은 나라금, 은메달 수가 모두 같으면, 동메달 수가 더 많은 나라각 국가는 1부터 N 사이의 정수로 표현된다. 한 국가의 등수는 (자신보다 더 잘한 나라 수) + 1로 정.. 더보기
(백준/파이썬) [Silver V] 줄세우기 - 10431 [Silver V] 줄세우기 - 10431문제 링크성능 요약메모리: 110412 KB, 시간: 136 ms분류구현, 시뮬레이션, 정렬제출 일자2024년 9월 4일 02:52:52문제 설명초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1번, 그 다음이 2번, ... , 가장 큰 아이가 20번이 된다. 강산이네 반 아이들은 항상 20명이며, 다행히도 같은 키를 가진 학생은 한 명도 없어서 시간이 조금 지나면 아이들은 자기들의 번호를 인지하고 한 줄로 세우면 제대로 된 위치에 잘 서게 된다.하지만 매년 첫 며칠간 강산이와 강산이네 반 아이들은 자기가 키 순으로 몇 번째인지 .. 더보기
(백준/파이썬) [Silver V] 돌 게임 - 9655 [Silver V] 돌 게임 - 9655문제 링크성능 요약메모리: 108080 KB, 시간: 96 ms분류다이나믹 프로그래밍, 게임 이론, 수학제출 일자2024년 8월 16일 05:10:56문제 설명돌 게임은 두 명이서 즐기는 재밌는 게임이다.탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.입력첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)출력상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. 풀이1개 또는 3개를 취할 수 있다. 를 잘 생각해보면,.. 더보기
(백준/파이썬) [Silver V] 집합 - 11723 [Silver V] 집합 - 11723문제 링크성능 요약메모리: 130340 KB, 시간: 932 ms분류비트마스킹, 구현제출 일자2024년 8월 16일 04:41:26문제 설명비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)all: S를 {1, 2, ..., 20} 으로 바꾼다.empty.. 더보기
(백준/파이썬) [Bronze I] 단어 공부 - 1157 [Bronze I] 단어 공부 - 1157문제 링크성능 요약메모리: 33212 KB, 시간: 80 ms분류구현, 문자열문제 설명알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.출력첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 풀이개인적으로 어렵다고 느꼈던 문제였다. 처음 접근을 Dictionary 를 활용하여 문제를 해결하려고 하였으나, 동일한 글자 개수를 체크하는 부분에서 많이 헤맸다.. 더보기
(백준/파이썬) [Bronze II] 벌집 - 2292 [Bronze II] 벌집 - 2292문제 링크성능 요약메모리: 109240 KB, 시간: 92 ms분류수학제출 일자2024년 9월 3일 16:10:23문제 설명위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.출력입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지.. 더보기