[백준] 3062 - 수 뒤집기



문제 정보


  • 문제 이름: 수 뒤집기
  • 문제 번호: 3062
  • 문제 유형: -
  • 풀이 언어: Java
  • 제출 시간: 2019년 5월 3일 17시 32분 22초
  • 원본 링크: https://www.acmicpc.net/problem/3062



문제

수 124를 뒤집으면 421이 되고 이 두 수를 합하면 545가 된다. 124와 같이 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되는지 테스트 하는 프로그램을 작성하시오.



입력

자세히 보기

[백준] 2789 - DOM



문제 정보


  • 문제 이름: DOM (원문)
  • 문제 번호: 2789
  • 문제 유형: 알고리즘 - 문자열 처리
  • 풀이 언어: Java
  • 제출 시간: 2019년 5월 2일 22시 31분 22초
  • 원본 링크: https://www.acmicpc.net/problem/2789



문제

In a small country far, far away, all the best and brightest high schoolers apply to universities abroad (even further away). The exact cause is always different and hard to find. Of course, the country’s leaders aren’t happy about that since they care deeply about their gifted (read profitable) youth.

That’s why the Education Ministry has started research into various subliminal messages to coax high schoolers into staying in their homeland. Their first try was handing out booster packs for the recent Magic: The Gathering expansion known as Return to Ravnica as competition prizes. Then they started to play Tony Cetinski’s song “Ostani zauvijek” on math radio all the time. Finally, there is this task!

Given a word, remove from it all letters contained in the word CAMBRIDGE.

자세히 보기

[백준] 2902 - AUTORI



문제 정보


  • 문제 이름: AUTORI (원문)
  • 문제 번호: 2902
  • 문제 유형: 알고리즘 - 문자열 처리
  • 풀이 언어: C
  • 제출 시간: 2019년 5월 1일 14시 53분 31초
  • 원본 링크: https://www.acmicpc.net/problem/2902



문제

Great scientific discoveries are often named by the last names of scientists that made them. For example, the most popular asymmetric cryptography system, RSA was discovered by Rivest, Shamir and Adleman. Another notable example is the KnuthMorris-Pratt algorithm, named by Knuth, Morris and Pratt.

Scientific papers reference earlier works a lot and it’s not uncommon for one document to use two different naming conventions: the short variation (e.g. KMP) using only the first letters of authors last names and the long variation (e.g. Knuth-Morris-Pratt) using complete last names separated by hyphens.

We find mixing two conventions in one paper to be aesthetically unpleasing and would like you to write a program that will transform long variations into short.

자세히 보기

[백준] 2563 - 색종이



문제 정보


  • 문제 이름: 색종이
  • 문제 번호: 2563
  • 문제 유형: 알고리즘 - 구현
  • 풀이 언어: C
  • 제출 시간: 2019년 4월 29일 23시 48분 10초
  • 원본 링크: https://www.acmicpc.net/problem/2563



문제

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.

예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다.



자세히 보기

[백준] 10551 - STROJOPIS



문제 정보


  • 문제 이름: STROJOPIS (원문)
  • 문제 번호: 10551
  • 문제 유형: 알고리즘 - 구현
  • 풀이 언어: C
  • 제출 시간: 2019년 4월 29일 12시 37분 50초
  • 원본 링크: https://www.acmicpc.net/problem/10551



문제

Proper typing is becoming an essential part of culture. If you are still not using all ten fingers for typing, you have to re-learn typing – then you will type faster and feel more comfortable and enjoyable.

There are a lot of websites teaching proper typing. The following image depicts the basic principle; the keys needed to press with the same finger are of the same color. The yellow keys need to be pressed with the pinky, the blue ones with the ring finger, the green ones with the middle finger and the red ones with the index finger. Naturally, the left hand presses the left side of the keyboard (starting with keys 5, T, G, B to the left), the right hand presses the right side (starting with keys 6, Y, H, N to the right). Thumbs are responsible for space.

Please note: the image depicts the US layout. For programming purposes, it is advised to switch to this layout because a lot of special characters, like [], are easier to type. The US layout can be easily set on any operation system.

자세히 보기

[백준] 11006 - 남욱이의 닭장



문제 풀이 정보




문제

계란집을 운영하는 남욱이는 매일 닭장에서 달걀을 수거해간다. 어느날 닭장에 들어가보니 일부 닭의 다리가 하나씩 사라졌다. 남욱이는 얼마나 많은 닭들이 한 다리를 잃었는지 알고 싶었지만 닭이 너무 많아 셀 수 없었고, 대신 모든 닭의 다리 수를 셌다. 고민하는 남욱이를 위해 모든 닭의 다리 수의 합과 닭의 수를 가지고 이것을 해결해주자.

첫째 줄에 총 테스트 케이스의 수 T (T ≤ 25) 가, 둘째 줄 부터 T + 1째 줄 까지 매 줄 마다 모든 닭의 다리 수의 합 N (1 ≤ N ≤ 300) 과 닭의 수 M (M ≤ N ≤ 2M) 이 공백을 간격으로 입력된다.

테스트 케이스마다 한 줄에 다리가 잘린 닭의 수 U와 멀쩡한 닭의 수 T를 공백을 간격으로 출력한다.

자세히 보기

[백준] 10820 - 문자열 분석



문제 풀이 정보




문제

문자열 N개가 주어진다. 이 때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.

첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.

첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.

자세히 보기

[백준] 1065 - 한수



문제 풀이 정보




문제

어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.

첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

자세히 보기

[백준] 4673 - 셀프 넘버



문제 풀이 정보




문제

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), …과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, …. n을 d(n)의 생성자라고 한다. 위의 수열에서 33은 39의 생성자이고, 39는 51의 생성자, 51은 57의 생성자이다. 생성자가 한 개보다 많은 경우도 있다. 예를 들어, 101은 생성자가 2개(91과 100) 있다. 생성자가 없는 숫자를 셀프 넘버라고 한다. 100보다 작은 셀프 넘버는 총 13개가 있다. 1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 97. 10000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

입력은 없다.

10,000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 증가하는 순서로 출력한다.

자세히 보기

[백준] 9012 - 괄호



문제 풀이 정보


  • 백준 온라인 저지 - 9012, 괄호
  • 풀이 언어: Java



문제

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(‘ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다.

한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS라고 부른다. 만일 x가 VPS라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)” 도 VPS가 된다. 그리고 두 VPS x와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS가 된다. 예를 들어 “(())()” 와 “((()))” 는 VPS이지만 “(()(“, “(())()))”, 그리고 “(()” 는 모두 VPS가 아닌 문자열이다.

여러분은 입력으로 주어진 괄호 문자열이 VPS인지 아닌지를 판단해서 그 결과를 YES와 NO로 나타내어야 한다.

자세히 보기