목록전체보기 (378)
코딩로그

[문제] 창영이는 여러 가지 진법을 공부하고 있다. 창영이는 어제 2진법을 배웠고, 오늘은 8진법을 배웠다. 이제, 2진법 수를 8진법 수로 변환하려고 한다. 창영이가 사용한 방법은 다음과 같다. 2진수의 길이가 3으로 나누어 떨어질 때 까지 수의 앞에 0을 붙인다. 그 다음, 3자리씩 그룹을 나눈다. 아래의 표를 참고해 8진수로 바꾼다. 2진수가 주어졌을 때, 창영이가 사용한 방법을 이용해 8진수로 바꾸는 프로그램을 작성하시오. 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 [입력] 첫째 줄에 2진수가 주어진다. 이 수는 100자리 이내이고, 첫 번째 자리는 1이다. [출력] 첫째 줄에 8진수를 출력한다. [Source Code] #include #include ..

[문제] 최백준이 이번 학기에 들은 과목과 학점 그리고 성적이 주어졌을 때, 평균 평점을 계산하는 프로그램을 작성하시오. 성적은 A+~F까지 총 13개가 있다. A+: 4.3, A0: 4.0, A-: 3.7 B+: 3.3, B0: 3.0, B-: 2.7 C+: 2.3, C0: 2.0, C-: 1.7 D+: 1.3, D0: 1.0, D-: 0.7 F: 0.0 평균 평점은 각 과목의 학점*성적을 모두 더한 뒤에, 총 학점으로 나누면 된다. [입력] 첫째 줄에, 백준이가 이번 학기에 들은 과목 수가 주어진다. 둘째 줄부터 N개의 줄에 각 과목의 과목명, 학점, 성적이 주어진다. 과목명은 알파벳 소문자와 숫자, 그리고 밑줄 (_)로만 이루어져 있으며, 최대 100글자이고, 학점은 1보다 크거나 같고, 3보다 작..

[문제] 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 [입력] 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. [출력] 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. [Source Code] #include #include #include #include #include using namespace std; bool change(string a, string b){ if(a.length..

[문제] 10진수를 9진수로 바꾸자. 컴파일러: [입력] 첫째 줄에 10진수 T(1 ≤ T ≤ 10,000)가 주어진다. [출력] T를 9진수로 변환한 수를 출력한다. [Source Code] #include #include #include #include #include #include using namespace std; int main() { int n; cin >> n; vector vector; while(n > 0){ vector.push_back(n % 9); n /= 9; } for(int i = vector.size() - 1; i >= 0; i--){ cout

[문제] 상근이와 창영이는 재미있는 주사위 게임을 하고 있다. 게임에서 사용되는 주사위는 2개를 사용하며 1 부터 6 까지 존재하는 정육면체이다. 주사위의 각 면에는 다음과 같은 고유 별칭이 부여된다. 1 : "Yakk" 2 : "Doh" 3 : "Seh" 4 : "Ghar" 5 : "Bang" 6 : "Sheesh" 상근이와 창영이가 주사위를 한 개씩 던졌을 때 나온 수 중 큰 수부터 별칭을 부르면 된다 예를 들어 1 과 2 가 나오면 "Doh Yakk" , 3 과 5 가 나오면 " Bang Seh" , 6 과 4 가 나오면 "Sheesh Ghar " 단 두 수가 같은 수가 나오는 경우에는 다음과 같은 별칭을 부여한다 1 - 1 : "Habb Yakk" 2 - 2 : "Dobara" 3 - 3 : "D..

[문제] 도현이네 반 N명의 친구 관계가 입력으로 주어진다. 이때, 각 사람의 친구의 수를 출력하는 프로그램을 작성하시오. 각 사람은 1번부터 N번까지 번호가 매겨져 있다. A와 B가 친구면, B와 A도 친구이다. 자기 자신과 친구인 경우, 즉 A와 B가 같은 경우는 없다. [입력] 첫째 줄에 도현이네 반 학생의 수 N(1 ≤ N ≤ 100,000), M(0 ≤ M ≤ 1,000,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계를 나타내는 A B가 한 줄에 하나씩 주어진다. A B가 입력으로 주어진 경우에 B A가 다시 입력으로 주어지는 경우는 없다. [출력] 첫째 줄부터 N번째 줄에 걸쳐서 각 학생의 친구의 수를 1번 학생부터 출력한다. [Source Code] #include #include..

[문제] 두 단어 A와 B가 주어졌을 때, A에 속하는 알파벳의 순서를 바꾸어서 B를 만들 수 있다면, A와 B를 애너그램이라고 한다. 두 단어가 애너그램인지 아닌지 구하는 프로그램을 작성하시오. [입력] 첫째 줄에 테스트 케이스의 개수(> test; for(int i = 0; i > a >> b; tempa = a; tempb = b; if(a.length() != b.length()){ cout

[문제] 강민이는 동생 희주를 위해 수학 문제를 만들고 있다. 희주는 매일 연습하고 열심히 공부했지만, 아직도 더하기를 끝내지 못했다. 숫자를 더할 때, 오른쪽부터 왼쪽으로 가면서 숫자를 하나씩 더한다. 그런데 희주는 귀찮아서 "받아 올림"을 하지 않고 그냥 두 숫자의 합을 적어버린다. 예를 들면, 희주는 숫자 123과 2495를 아래와 같이 더한다. 1 2 3 + 2 4 9 5 ---------------- 2 5 11 8 그래서 답을 적을 때 25118을 적는 것이었다. 만약 모든 숫자를 다 이렇게 더한다면 결과가 어떻게 나오는 지 프로그램으로 작성하시오. [입력] 두 정수 A, B가 공백을 두고 주어진다. A와 B는 1과 1,000,000 사이의 정수이다. [출력] 희주 방식대로 더한 결과를 출력한..