별의 공부 블로그 🧑🏻‍💻

🗒️ Problem Solving (130)

728x90
  1. 2017.11.17 [BOJ10845][C++] 큐

    문제정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘쨰 줄부터 N개의 ..

  2. 2017.11.16 [BOJ10818][C++] 최소, 최대

    문제N개의 정수가 주어진다. 이 때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 예제 입력 5 20 10 35 30 7 예제 출력 7 35 힌트 출처· 문제를 만든 사람: baekjoon· 데이터를 추가한 사람: topology 코드 12345678910111213141516171819202122#include #include // sort()#include using namespace std; ..

  3. 2017.11.15 [BOJ1026][C++] 보물

    문제옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다.길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0]*B[0] + ... + A[N-1]*B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안된다.S의 최솟값을 출력하는 프로그램을 작성하시오. 입력첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력첫째 줄에 S의 최솟값을 출력한다. 예제 입력 5 1 1 ..

  4. 2017.11.15 [BOJ5337][C++] 웰컴

    문제Welcome을 예제 출력처럼 출력하는 프로그램을 작성하시오. 입력 출력Welcome을 아래 예제 출력처럼 출력한다. 예제 입력 예제 출력 . . . | | _ | _. _ ._ _ _ |/\|(/.|(_.(_)[ | )(/. 힌트 출처High School > PLU High School Programming Contest > PLU 2013 - Novice 1번· 문제를 번역한 사람: baekjoon 알고리즘 분류· 출력 코드 123456789101112#include using namespace std; int main(){ cout

  5. 2017.11.15 [BOJ2475][C++] 검증수

    문제컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다. 입력첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다. 출력첫째 줄에 검증수를 출력한다. 예제 입력 0 4 2 5 6 예제 출력 1 힌트 출처Olympiad > 한국정보올림피아드시․도지역본선 > 지역..

  6. 2017.11.15 [BOJ4999][C++] 아!

    문제재환이는 저스틴 비버 콘서트에서 소리를 너무 많이 질러서 인후염에 걸렸다.의사는 재환이에게 "aaah"를 말해보라고 시켰다. 안타깝게도 재환이는 의사가 원하는만큼 소리를 길게 낼 수 없는 경우가 있었다.각각의 의사는 재환이에게 특정한 길이의 "aah"를 말해보라고 요청한다. 어떤 의사는 "aaaaaah"를 요구하기도 하고, "h"만 요구하는 의사도 있다.모든 의사는 자신이 원하는 길이의 "aah"를 듣지 못하면 진단을 내릴 수 없다.따라서, 재환이는 집에서 자신이 얼마나 길게 "aah"를 낼 수 있는지 알아냈고, 자기가 소리낼 수 있는 길이의 "aah"를 요구하는 의사를 방문하려고 한다.재환이가 낼 수 있는 "aah"의 길이와 의사가 요구하는 길이가 주어진다. 이 때, 그 병원에 가야하는지 말아야하는..

  7. 2017.11.15 [BOJ2562][C++] 최대값

    문제9개의 서로 다른 자연수가 주어질 때, 이들 중 최대값을 찾고 그 최대값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.예를 들어, 서로 다른 9개의 자연수3, 29, 38, 12, 57, 74, 40, 85, 61이 주어지면, 이들 중 최대값은 85이고, 이 값은 8번째 수이다. 입력첫 째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력첫째 줄에 최대값을 출력하고, 둘째 줄에 최대값이 몇 번째 수인지를 출력한다. 예제 입력 3 29 38 12 57 74 40 85 61 예제 출력 85 8 힌트 출처Olympiad > 한국정보올림피아드시․도지역본선 > 지역본선 2007 > 초등부 1번 코드 123456789101112131415161718192..

  8. 2017.11.15 [BOJ9012][C++] 괄호

    문제괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다. 여러분은 입력으로 주어진 괄호 문자열이..

  9. 2017.11.15 [BOJ10828][C++] 스택

    문제정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다..

  10. 2017.11.14 [BOJ2743][C++] 단어 길이 재기

    문제알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 출력첫째 줄에 입력으로 주어진 단어의 길이를 출력한다. 예제 입력 pulljima 예제 출력 8 힌트 출처· 데이터를 추가한 사람: 79brue· 문제를 만든 사람: baekjoon 알고리즘 분류· 문자열 처리 코드 123456789101112131415161718#include #include // strlen() #define N 101 using namespace std; int main(){ int len; char ary[N]; cin >> ary; len = strlen(ary); cout

  11. 2017.11.12 [BOJ2609][C++] 최대공약수와 최소공배수

    문제두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력첫째 줄에는 입력으로 주어진 두 수의 최대공약수를,둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 예제 입력 24 18 예제 출력 6 72 힌트 출처Olympiad > 한국정보올림피아드시․도지역본선 > 지역본선 2004 > 중등부 1번Olympiad > 한국정보올림피아드시․도지역본선 > 지역본선 2004 > 고등부 1번 코드 123456789101112131415161718192021222324252627#include using namespace std; // GCD : 최대공약수..

  12. 2017.11.12 [BOJ4606][C++] The Seven Percent Solution

    문제Uniform Resource Identifiers (or URIs) are strings like http://icpc.baylor.edu/icpc/, mailto:foo@bar.org, ftp://127.0.0.1/pub/linux, or even just readme.txt that are used to identify a resource, usually on the Internet or a local computer. Certain characters are reserved within URIs, and if a reserved character is part of an identifier then it must be percent-encoded by replacing it with a per..

  13. 2017.11.12 [BOJ11728][C++] 배열 합치기

    문제정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오. 입력첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절대값이 109보다 작거나 같은 정수이다. 출력둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절대값이 109보다 작거나 같은 정수이다. 예제 입력 1 2 2 3 5 2 9 예제 출력 1 2 3 5 9 예제 입력 2 2 1 4 7 1 예제 출력 2 1 4 7 예제 입력 3 4 3 2 3 5 9 1 4 7 예제 출력 3 1 2 3 4 5 7 9 힌트 출처..

  14. 2017.11.12 [BOJ7600][C++] 문자가 몇갤까

    문제"The quick brown fox jumped over the lazy dogs."이 문장은 모든 모든 알파벳이 적어도 한 번은 나오는 문장으로 유명하다.즉 26개의 서로 다른 문자를 갖고 있는 것이다.각 케이스마다 문장에서 공백, 숫자, 특수 문자를 제외하고 얼마나 다양한 알파벳이 나왔는지를 구하면 된다. 대소문자는 하나의 문자로 처리한다. ex) 'A' == 'a' 입력입력은 250자를 넘지 않는 문장이 주어진다.각 문장은 적어도 하나의 공백이 아닌 문자를 포함한다. (알파벳이 아닐 수 있다)마지막 줄에는 '#'이 주어진다. 출력각 줄마다 출몰한 알파벳의 개수를 출력하면 된다. 예제 입력 The quick brown fox jumped over the lazy dogs. 2 + 2 = 4 Ne..

  15. 2017.11.12 [BOJ2523][C++] 별찍기 - 13

    문제예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력첫째 줄에 N (1 n; for (int i = 0; i

  16. 2017.11.12 [BOJ2522][C++] 별찍기 - 12

    문제예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력첫째 줄에 N (1 n; for (int i = 0; i

  17. 2017.11.12 [BOJ10569][C++] 다면체

    문제수학자가 구를 깎아서 볼록다면체를 만들었다. 이 수학자는 임의의 볼록다면체에 대해 (꼭짓점의 수) - (모서리의 수) + (면의 수) = 2가 성립한다는 것을 알고 있다. 그래서 구를 깎는 게 취미인 이 사람은 꼭짓점, 모서리와 면의 수를 기록할 때 꼭짓점과 모서리의 수만 세고 면의 수는 세지 않는다. 입력첫 번째 줄에 1 이상 100 이하의 자연수 T가 주어진다.다음 T개의 줄에 4 이상 100 이하의 자연수 V와 E가 공백을 사이에 두고 주어진다. V와 E는 각각 꼭짓점의 개수와 모서리의 개수이다. 출력각 V와 E에 대해 볼록다면체의 면의 수를 한 줄에 하나씩 출력한다. 예제 입력 1 2 8 12 4 6 예제 출력 1 6 4 힌트 출처ACM-ICPC > Regionals > North Americ..

  18. 2017.11.12 [BOJ2556][C++] 별찍기 - 14

    문제지금까지 안나온 별찍기가 뭐가 있는지 생각해본 후, 별을 적절히 찍으세요. 입력첫째 줄에 N (1 n; for (int i = 0; i

  19. 2017.11.12 [BOJ10992][C++] 별찍기 - 17

    문제예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력첫째 줄에 N (1 n; for (int i = 0; i

  20. 2017.11.12 [BOJ10991][C++] 별찍기 - 16

    문제예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력첫째 줄에 N (1 n; for (int i = 0; i

  21. 2017.11.12 [BOJ10990][C++] 별찍기 - 15

    문제예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력첫째 줄에 N (1 n; for (int i = 0; i

  22. 2017.11.11 [BOJ3047][C++] ABC

    문제세 수 A, B, C가 주어진다. A는 B보다 작고, B는 C보다 작다.세 수 A, B, C가 주어졌을 때, 입력에서 주어진 순서대로 출력하는 프로그램을 작성하시오. 입력첫째 줄에 세 수 A, B, C가 주어진다. 하지만, 순서는 A, B, C가 아닐 수도 있다. 세 수는 100보다 작거나 같은 자연수이다. 둘째 줄에는 A, B, C로 이루어진 세 글자가 주어지며, 이 순서대로 출력하면 된다. 출력주어진 세 수를 주어진 출력 순서대로 출력하면 된다. 예제 입력 1 5 3 ABC 예제 출력 1 3 5 힌트 출처Contest > Croatian Open Competition in Informatics > COCI 2006/2007 > Contest #2 2번· 문제를 번역한 사람: baekjoon· 문제..

  23. 2017.11.10 [BOJ5073] 삼각형과 세 변

    문제삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.Equilateral : 세 변의 길이가 모두 같은 경우Isosceles : 두 변의 길이만 같은 경우Scalene : 세변의 길이가 모두 다른 경우단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2 가 주어지면 가장 긴 변인 6 은 다른 두 변의 합보다 크기 때문에 삼각형의 조건을 만족하지 못한다. 세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오. 입력각 줄은 1000 을 넘지 않는 양의 정수 3개가 입력되며 0 0 0 이 입력되면 종료한다. 출력각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid..

  24. 2017.11.10 [BOJ10101][C++] 삼각형 외우기

    문제창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다. 삼각형의 세 각을 입력받은 다음, 세 각의 크기가 모두 60이면, Equilateral세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene세 각의 합이 180이 아닌 경우에는 Error를 출력하는 프로그램을 작성하시오. 입력총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다. 출력문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다. 예제 입력 60 70 50 예제 출력 Scalene 힌트 출처Olympiad > Canadian Co..

  25. 2017.11.10 [BOJ4153][C++] 직각삼각형

    문제과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. 예제 입력 6 8 10 25 52 60 5 12 13 0 0 0 예제 출력 right wrong right 힌트 출처Contest > Waterloo's local Programming Contests > 2 October, 2010 A번· 문제를 번역한 사람: josephwon0310..

  26. 2017.11.09 [BOJ5565][C++] 영수증

    문제새 학기를 맞아 상근이는 책을 10권 구입했다. 상근이는 의욕이 너무 앞서서 가격을 조사하지 않고 책을 구입했다. 이제 각 책의 가격을 알아보려고 한다. 하지만, 영수증에는 얼룩이 묻어있었고, 상근이는 책 10권 중 9권의 가격만 읽을 수 있었다. 책 10권의 총 가격과 가격을 읽을 수 있는 9권 가격이 주어졌을 때, 가격을 읽을 수 없는 책의 가격을 구하는 프로그램을 작성하시오. 입력첫째 줄에 10권의 총 가격이 주어진다. 둘째 줄부터 9개 줄에는 가격을 읽을 수 있는 책 9권의 가격이 주어진다. 책의 가격은 10000이하이다. 출력첫째 줄에 가격을 읽을 수 없는 책의 가격을 출력한다. 예제 입력 9850 1050 800 420 380 600 820 2400 1800 980 예제 출력 600 힌트 ..

  27. 2017.11.09 [BOJ12790][C++] Mini Fantasy War

    문제 넥슨지티에서는 최근 SRPG "슈퍼 판타지 워"의 후속작으로 "미니 판타지 워"를 출시하였다. 전편과 마찬가지로, 미니 판타지 워에서도 각 캐릭터의 전투력을 계산하여야 한다. 각 캐릭터의 전투력은 단순히 각 캐릭터의 능력치의 가중 합으로 계산된다. 전투력 계산은 굉장히 간단한 로직이지만 게임 곳곳에 쓰이는 만큼, Being은 다른 프로그래머로 하여금 이 로직을 구현하여 자신의 것과 교차검증하고자 한다. 그리하여 당신은 이 전투력을 구현하는 작업을 맡게 되었다. 능력치는 모두 네 종류 존재한다. 이는 각각 HP, MP, 공격력, 방어력이다. 각 캐릭터는 기본 능력치 4종을 바탕으로 장비를 장착할 수 있다. 각 장비는 능력치를 변화시키는데, 그 변화되는 양이 입력으로 주어진다. 따라서 캐릭터의 최종 능..

  28. 2017.11.09 [BOJ10824][C++] 네 수

    문제네 자연수 A, B, C, D가 주어진다. 이 때, A와 B를 붙인 수와 C와 D를 붙인 수의 합을 구하는 프로그램을 작성하시오.두 수 A와 B를 합치는 것은 A의 뒤에 B를 붙이는 것을 의미한다. 즉, 20과 30을 붙이면 2030이 된다. 입력첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) 출력A와 B를 붙인 수와 C와 D를 붙인 수의 합을 출력한다. 예제 입력 10 20 30 40 예제 출력 4060 힌트 출처· 문제를 만든 사람: baekjoon· 문제의 오타를 찾은 사람: wurikiji 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444..

  29. 2017.11.09 [BOJ2446][C++] 별찍기 - 9

    문제예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력첫째 줄에 N (1 n; for (int i = 0; i

  30. 2017.11.09 [BOJ2445][C++] 별찍기 - 8

    문제예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력첫째 줄에 N (1 n; for (int i = 1; i

728x90


📖 Contents 📖