baekjoon
-
디지털 티비 in Python문제2012년 12월 31일 새벽 4시부터 지상파 아날로그 TV방송이 종료되었다. TV를 자주보는 할머니를 위해서, 상근이네 집도 디지털 수신기를 구입했다.원래 상근이네 집에는 KBS1과 KBS2만 나왔다. 할머니는 두 방송만 시청한다. 이제 디지털 수신기와 함께 엄청난 양의 채널을 볼 수 있게 되었다. 하지만, 할머니는 오직 KBS1과 KBS2만 보려고 한다. 따라서, 상근이는 채널 리스트를 조절해 KBS1을 첫 번째로, KBS2를 두 번째로 만들려고 한다.티비를 켜면 디지털 수신기는 시청 가능한 채널 리스트를 보여준다. 모든 채널의 이름은 서로 다르고, 항상 KBS1과 KBS2를 포함하고 있다. 상근이는 이 리모콘을 이용해서 리스트의 순서를 바꾸는 법을 알아냈다. 리스트의..
[BAEKJOON ONLINE JUDGE 2816번] 디지털 티비디지털 티비 in Python문제2012년 12월 31일 새벽 4시부터 지상파 아날로그 TV방송이 종료되었다. TV를 자주보는 할머니를 위해서, 상근이네 집도 디지털 수신기를 구입했다.원래 상근이네 집에는 KBS1과 KBS2만 나왔다. 할머니는 두 방송만 시청한다. 이제 디지털 수신기와 함께 엄청난 양의 채널을 볼 수 있게 되었다. 하지만, 할머니는 오직 KBS1과 KBS2만 보려고 한다. 따라서, 상근이는 채널 리스트를 조절해 KBS1을 첫 번째로, KBS2를 두 번째로 만들려고 한다.티비를 켜면 디지털 수신기는 시청 가능한 채널 리스트를 보여준다. 모든 채널의 이름은 서로 다르고, 항상 KBS1과 KBS2를 포함하고 있다. 상근이는 이 리모콘을 이용해서 리스트의 순서를 바꾸는 법을 알아냈다. 리스트의..
2025.02.24 -
단어 공부 in Python문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력 데이터첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.입력 예MississipizZazbaaa출력 데이터첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.출력 예?ZZA해결 방법등장하는 문자열에 대해 모두 대문자로 변환하여 dictionary를 이용해 count 해줌딕셔너리에 대해 문자의 발생 빈도를 기준으로 내림차순 정렬딕셔너리 첫 번째 문자와 두 번째 문자..
[BAEKJOON ONLINE JUDGE 1157번] 단어 공부단어 공부 in Python문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력 데이터첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.입력 예MississipizZazbaaa출력 데이터첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.출력 예?ZZA해결 방법등장하는 문자열에 대해 모두 대문자로 변환하여 dictionary를 이용해 count 해줌딕셔너리에 대해 문자의 발생 빈도를 기준으로 내림차순 정렬딕셔너리 첫 번째 문자와 두 번째 문자..
2025.02.24 -
비밀번호 발음하기 in Python문제좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtpzyo 같은 비밀번호를 무작위로 부여해 주기도 하지만, 사용자들은 이를 외우는데 어려움을 느끼고 심지어는 포스트잇에 적어 컴퓨터에 붙여놓는다. 가장 이상적인 해결법은 '발음이 가능한' 패스워드를 만드는 것으로 적당히 외우기 쉬우면서도 안전하게 계정을 지킬 수 있다.회사 FnordCom은 그런 패스워드 생성기를 만들려고 계획중이다. 당신은 그 회사 품질 관리 부서의 직원으로 생성기를 테스트해보고 생성되는 패스워드의 품질을 평가하여야 한다. 높은 품질을 가진 비밀번호의 조건은 다음과..
[BAEKJOON ONLINE JUDGE 4659번] 비밀번호 발음하기비밀번호 발음하기 in Python문제좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtpzyo 같은 비밀번호를 무작위로 부여해 주기도 하지만, 사용자들은 이를 외우는데 어려움을 느끼고 심지어는 포스트잇에 적어 컴퓨터에 붙여놓는다. 가장 이상적인 해결법은 '발음이 가능한' 패스워드를 만드는 것으로 적당히 외우기 쉬우면서도 안전하게 계정을 지킬 수 있다.회사 FnordCom은 그런 패스워드 생성기를 만들려고 계획중이다. 당신은 그 회사 품질 관리 부서의 직원으로 생성기를 테스트해보고 생성되는 패스워드의 품질을 평가하여야 한다. 높은 품질을 가진 비밀번호의 조건은 다음과..
2025.02.24 -
벌집 in Python문제위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력 데이터첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.입력 예13출력 데이터입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.출력 예3해결 방법1에서 시작하여 4시 방향으로 대각선의 수를 나열해보면 아래와 같음1, 7, 19,..
[BAEKJOON ONLINE JUDGE 2292번] 벌집벌집 in Python문제위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력 데이터첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.입력 예13출력 데이터입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.출력 예3해결 방법1에서 시작하여 4시 방향으로 대각선의 수를 나열해보면 아래와 같음1, 7, 19,..
2025.02.04 -
삼각형과 세 변 in Python문제삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.Equilateral : 세 변의 길이가 모두 같은 경우Isosceles : 두 변의 길이만 같은 경우Scalene : 세 변의 길이가 모두 다른 경우단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다.세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.입력 데이터각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다.입력 예7 7 76 ..
[BAEKJOON ONLINE JUDGE 5073번] 삼각형과 세 변삼각형과 세 변 in Python문제삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.Equilateral : 세 변의 길이가 모두 같은 경우Isosceles : 두 변의 길이만 같은 경우Scalene : 세 변의 길이가 모두 다른 경우단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다.세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.입력 데이터각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다.입력 예7 7 76 ..
2025.02.04 -
1로 만들기 in C++문제어떠한 정수 X에 아래 3개의 연산을 통해 1을 가장 빠르게(연산의 횟수를 최소화 하여) 만드려고 한다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.X를 1로 만들기 위해 연산이 가장 적게 사용된 횟수를 출력하도록 한다.예시N=1 일 때, 연산의 횟수는 0, N=2 일 때, 연산의 횟수는 2->1 이므로 1. N=3 일 때, 연산의 횟수는 3->1 이므로 1.N=4 일 때, 연산의 횟수는 4->3->1 or 4->2->1 두 가지 경우 모두 2.… N=10 일 때, 10->5->4->2->1의 경우에는 4이지만, 10->9->3->1의 경우에 3이므로 이 때는 3.입력 데이터1보다 크거나 같고 106보다 작은 정수 N입력 예1..
[BAEKJOON ONLINE JUDGE 1463번] 1로 만들기1로 만들기 in C++문제어떠한 정수 X에 아래 3개의 연산을 통해 1을 가장 빠르게(연산의 횟수를 최소화 하여) 만드려고 한다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.X를 1로 만들기 위해 연산이 가장 적게 사용된 횟수를 출력하도록 한다.예시N=1 일 때, 연산의 횟수는 0, N=2 일 때, 연산의 횟수는 2->1 이므로 1. N=3 일 때, 연산의 횟수는 3->1 이므로 1.N=4 일 때, 연산의 횟수는 4->3->1 or 4->2->1 두 가지 경우 모두 2.… N=10 일 때, 10->5->4->2->1의 경우에는 4이지만, 10->9->3->1의 경우에 3이므로 이 때는 3.입력 데이터1보다 크거나 같고 106보다 작은 정수 N입력 예1..
2024.09.20 -
회의실배정 in C++문제여러 개의 회의가 하나의 회의실을 이용하고 싶어 한다. 이러한 상황에서, 회의실을 가장 효율적으로 이용하기 위해 회의실 사용표를 만들려고 한다.각 회의의 시작 시간, 끝나는 시간이 주어질 때, 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 구하시오.입력 데이터각 회의는 시작 시간(0이상 231-1이하인 정수)과 끝나는 시간(0이상 231-1이하인 정수)을 가질 때, N개의 회의에 대해 N(1 ≤ N ≤ 106), 각 회의의 시작 시간, 끝나는 시간입력 예2039 4524 2525 2734 3735 5036 406 4030 3734 3824 3915 3244 4549 501 2940 4122 231 2220 4140 4724 39출력 데이터각 회의가 겹치지 않게 ..
[BAEKJOON ONLINE JUDGE 1931번] 회의실배정회의실배정 in C++문제여러 개의 회의가 하나의 회의실을 이용하고 싶어 한다. 이러한 상황에서, 회의실을 가장 효율적으로 이용하기 위해 회의실 사용표를 만들려고 한다.각 회의의 시작 시간, 끝나는 시간이 주어질 때, 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 구하시오.입력 데이터각 회의는 시작 시간(0이상 231-1이하인 정수)과 끝나는 시간(0이상 231-1이하인 정수)을 가질 때, N개의 회의에 대해 N(1 ≤ N ≤ 106), 각 회의의 시작 시간, 끝나는 시간입력 예2039 4524 2525 2734 3735 5036 406 4030 3734 3824 3915 3244 4549 501 2940 4122 231 2220 4140 4724 39출력 데이터각 회의가 겹치지 않게 ..
2024.09.20 -
단어의 개수 in C++문제영어 대소문자와 공백으로만 구성된 하나의 문장이 주어질 때, 이 문장의 단어의 개수를 출력한다.입력 데이터영어 대소문자와 공백으로만 구성된 하나의 문장입력 예Minsu's algorithm study, using c++ or java출력 데이터문장의 단어의 개수출력 예7조건단, 문장의 길이는 1,000,000자를 넘지 않고, 단어는 공백으로만 구분되며, 공백은 연속되지 않음해결 방법문제의 조건으로 볼 때, 단어의 개수는 공백의 수와 밀접한 관련이 있다는 것을 알 수 있다.예를 들어 ‘A b’ 라면 공백은 1개이고, 단어는 2개이다.‘ A b’라면 공백은 2개이지만, 단어는 이전과 마찬가지로 2개이다.‘ A b ‘라면 공백은 3개이지만, 단어는 역시 2개이다.이 예시들을 통해 볼..
[BAEKJOON ONLINE JUDGE 1152번] 단어의 개수단어의 개수 in C++문제영어 대소문자와 공백으로만 구성된 하나의 문장이 주어질 때, 이 문장의 단어의 개수를 출력한다.입력 데이터영어 대소문자와 공백으로만 구성된 하나의 문장입력 예Minsu's algorithm study, using c++ or java출력 데이터문장의 단어의 개수출력 예7조건단, 문장의 길이는 1,000,000자를 넘지 않고, 단어는 공백으로만 구분되며, 공백은 연속되지 않음해결 방법문제의 조건으로 볼 때, 단어의 개수는 공백의 수와 밀접한 관련이 있다는 것을 알 수 있다.예를 들어 ‘A b’ 라면 공백은 1개이고, 단어는 2개이다.‘ A b’라면 공백은 2개이지만, 단어는 이전과 마찬가지로 2개이다.‘ A b ‘라면 공백은 3개이지만, 단어는 역시 2개이다.이 예시들을 통해 볼..
2024.09.20 -
N-Queen문제N x N (칸) 크기의 체스판 위에 오직 N개의 Queen만을 서로를 공격할 수 없게 놓았을 때, 앞의 설명과 같이 Queen말을 놓는 모든 방법의 수를 구하여 출력한다.입력 데이터체스판 한 변의 길이(혹은 Queen 말의 수) N입력 예4출력 데이터N x N (칸) 크기의 체스판 위에 Queen말을 놓는 모든 방법의 수출력 예2조건N은 1이사 15이하의 정수Queen말은 자신과 같은 직선, 대각선에 위치한 말을 공격할 수 있음해결 방법예를 들어 1 x 1 크기의 체스판에는 체스판의 크기도 1 x 1(1칸) 이지만, 놓을 Queen의 수도 1개 이므로 방법의 수는 (1, 1)에 놓는 1가지 이다.그러나 2 x 2 일 때와, 3 x 3 일 때는 Queen을 놓을 수 있는 방법이 존재하지 ..
[BAEKJOON ONLINE JUDGE 9663번] N-QueenN-Queen문제N x N (칸) 크기의 체스판 위에 오직 N개의 Queen만을 서로를 공격할 수 없게 놓았을 때, 앞의 설명과 같이 Queen말을 놓는 모든 방법의 수를 구하여 출력한다.입력 데이터체스판 한 변의 길이(혹은 Queen 말의 수) N입력 예4출력 데이터N x N (칸) 크기의 체스판 위에 Queen말을 놓는 모든 방법의 수출력 예2조건N은 1이사 15이하의 정수Queen말은 자신과 같은 직선, 대각선에 위치한 말을 공격할 수 있음해결 방법예를 들어 1 x 1 크기의 체스판에는 체스판의 크기도 1 x 1(1칸) 이지만, 놓을 Queen의 수도 1개 이므로 방법의 수는 (1, 1)에 놓는 1가지 이다.그러나 2 x 2 일 때와, 3 x 3 일 때는 Queen을 놓을 수 있는 방법이 존재하지 ..
2024.09.20 -
Farm in C++문제양이 x마리, 염소가 y마리 있고, 양은 하루에 a만큼의 사료를, 염소는 하루에 b만큼의 사료를 먹을 때, 모든 양과 염소가 하루에 먹은 사료의 양 w와 전체 양과 염소의 수 n을 통해 양과 염소의 수를 구하는 문제이다.유일 해가 존재할 때는 그 해를 출력하며, 해가 2개 이상이거나 해가 없으면 -1을 출력해야한다.입력 데이터네 정수 a, b, n, w입력 예3 4 9 32출력 데이터문장의 단어의 개수출력 예4 5조건1 ≤ a ≤ 1,000, 1 ≤ b ≤ 1,000, 2 ≤ n ≤ 1,000, 2 ≤ w ≤ 1,000,000해결 방법일반적인 연립방정식 문제인 x+y=n, ax+by=w와 같다.따라서 컴퓨터의 계산 능력을 믿고 연립 방정식을 푸는 것을 이용하면 된다.코드#inclu..
[BAEKJOON ONLINE JUDGE 16283번] FarmFarm in C++문제양이 x마리, 염소가 y마리 있고, 양은 하루에 a만큼의 사료를, 염소는 하루에 b만큼의 사료를 먹을 때, 모든 양과 염소가 하루에 먹은 사료의 양 w와 전체 양과 염소의 수 n을 통해 양과 염소의 수를 구하는 문제이다.유일 해가 존재할 때는 그 해를 출력하며, 해가 2개 이상이거나 해가 없으면 -1을 출력해야한다.입력 데이터네 정수 a, b, n, w입력 예3 4 9 32출력 데이터문장의 단어의 개수출력 예4 5조건1 ≤ a ≤ 1,000, 1 ≤ b ≤ 1,000, 2 ≤ n ≤ 1,000, 2 ≤ w ≤ 1,000,000해결 방법일반적인 연립방정식 문제인 x+y=n, ax+by=w와 같다.따라서 컴퓨터의 계산 능력을 믿고 연립 방정식을 푸는 것을 이용하면 된다.코드#inclu..
2024.09.20