문제

제천 신동 장난꾸러기 희동이는 어릴 적 별명이 로꾸꺼였다. 왜냐하면 어른들이 무엇을 물어보면 대답을 꺼꾸로하는 장난을 자주 했기 때문이다. 그런데 이 녀석 대학생이 되어서도 자기가 화가 날 때면 대답을 거꾸로한다. 같이 팀 프로젝트를 하는 준수와 현수는 이런 희동이 때문에 가끔 깊은 빡침을 느낀다. 그래서 프로그램을 개발하여 화가 난 희동이의 대답을 번역하기로 결심했다!

공백을 기준으로 단어가 역순이 되어야 한다.

 

입력

문자의 개수 (2 <= C <= 2000) 

 

예제 입력1​

I evol gnusmas erawtfos .pihsrebmem

예제 출력1

I love samsung software membership



[문제 풀이]

입력하는 문자를 순서는 제외하고, 문자 자체를 거꾸로 출력(역순)하면 되는 간단한 문제입니다.




Posted by 밍쫑
,

문제

최근에 아주 비싼 키보드를 구입한 성주는 키보드의 진정한 가치를 느끼기 위해 여러가지 기능을 알아보기로 했다. 이것 저것 눌러보던중 "레알힘"을 느낄수 있는 아주 강력한 기능을 발견했다. 복사, 붙여넣기. 이름하여 복붙기능이 탑재되어 있었다. 복사 또는 붙여넣기를 하는데 각각 1초의 시간이 소요된다. 복붙놀이에 심취하던 중 하나뿐인 여동기 민지에게 하트를 복사, 붙여넣기해서 보여주기로 했다. 입력된 개수의 하트를 복붙놀이로 만드는데 걸리는 시간을 구하라. 

  • 첫 화면에는 하트 한 개가 있다.
  • 복사를 하면 화면에 보이는 모든 하트가 클립보드에 저장된다.
  • 붙여넣기를 하면 클립보드에 있는 모든 하트가 붙여넣기가 된다.

 

입력

하트의 개수 (2 <= N <= 2000) 

출력

하트를 복붙놀이를 해서 만드는데 걸리는 시간 

예제 입력1

2

예제 출력1

2


1. ♥ (복사, 클립보드에 1개가 들어간다)
2. ♥♥ (붙여넣기, 화면에 하트가 2개가 된다)

예제 입력2

6

예제 출력2

5


1. ♥ (복사, 클립보드에 1개가 들어간다)
2. ♥♥ (붙여넣기, 화면에 하트가 2개가 된다)
3. ♥♥ (복사, 클립보드에 2개가 들어간다)
4. ♥♥♥♥ (붙여넣기, 화면에 하트가 4개가 된다)
5. ♥♥♥♥♥♥ (붙여넣기, 화면에 하트가 6개가 된다) 

예제 입력3

11

예제 출력3

11


예제 입력4

16

예제 출력4

8

 

예제 입력5

1000

예제 출력5

21




[소스코드 설명]



Posted by 밍쫑
,

문제

신입 단기과제 연계 끝에 대전멤버십에서 새로운 숫자 체계 "MemNumber"를 완성시켰다. 이것은 4개의 소문자 m, c, x, i와 8개의 숫자 2, 3, 4, 5, 6, 7, 8, 9로 수를 표현한다. 즉, 0과 1은 사용하지 않는다.

 

몇가지 예를 들면

  • "5m2c3x4i" 는 5234 (= 5*1000 + 2*100 + 3*10 + 4*1)
  • "m2c4i" 는 1204 (= 1000 + 2*100 + 4*1)
  • "5m2c3x" 는 5230 (= 5*1000 + 2*100 + 3*10)

위 예에서

  • "5m" 는 5000 (= 5*1000)
  • "2c" 는 200 (= 2*100)
  • "3x" 는 30 (= 3*10)
  • "4i" 는 4 (= 4*1)

즉, m, c, x, i 앞에 2부터 9까지 수가 올 수 있는데 이 수와 짝을 이루어 수의 곱을 의미한다.

m, c, x, i 는 많아야 한 번 나올수 있다. 접두 숫자와는 같이 움직인다. m , c ,x , i 는 이 순서로 나와야 한다. 

다음은 가능하지 않는 "MemNumber"이다.

  • "1m2c4i"
  • "mcc4i"
  • "m2c0x4i"
  • "2cm4i"

 

"MemNumber" 문자열 두개를 입력으로 받아 "MemNumber" 수의 합을 구한 후 대응되는 "MemNumber" 문자열을 출력한다.

 

입력

"MemNumber" 문자열 2개가 입력된다.

두 수의 합은 9999를 넘지 않는다.

 

출력

입력된 "MemNumber" 문자열의 합을 "MemNumber"수로 출력한다.

예제 입력1

xi x9i

예제 출력1

3x


예제 입력2

i 9i

예제 출력2

x


예제 입력3

m2ci 4m7c9x8i

예제 출력3

5m9c9x9i


예제 입력4

9m8c7xi c2x8i

예제 출력4

9m9c9x9i



[문제 설명]

m = 1000

c = 100

x = 10

i = 1

1. 이 4개의 문자들은 2~9까지의 8개의 숫자와 짝을 이룹니다.

따라서 4m = 4 * 1000 = 4000이라고 볼 수 있고, mc = 1000 + 100 = 1100이라고 볼 수 있습니다.

2. mcxi는 각 한 번씩만 나올 수 있습니다.

3. m - c - x - i 꼭 이 순서대로 문자가 나와야 합니다.

이 세 가지 조건을 만족하면서 두 수의 합을 계산 한 후 다시 m, c, x, i 로 표현을 하는 것이 이번 문제였습니다.


[소스 코드 설명]

입력받은 문자의 길이를 구한 후, 그 길이 만큼 for문을 돌면서 각 문자별로 앞에 붙은 숫자와 짝을 이루어 입력받은 문자가 숫자로 환산하면 몇 인지를 파악합니다.

그리고 환산한 두 숫자를 더한 후에 다시 mcxi 문자로 바꿔주는 소스 코드 입니다.



Posted by 밍쫑
,