유정이의 산삼


문제


N * N 크기의 숲이 있다. 이 숲에는 1000년 묵은 산삼이 군데군데 자라고 있어서 유정이는 익균이의 자동차를 타고 산삼을 먹으려 한다.

익균이의 자동차는 (1, 1)의 위치에서 출발하여 (N, N)까지 이동하는데, 익균이의 자동차는 고물이라 오른쪽 또는 아래쪽으로밖에 움직이지 못한다. 유정이는 무한한 양의 산삼을 먹을 수 있다고 가정(?)하자.

익균이의 자동차를 이용해 유정이가 최대한 많이 산삼을 먹도록 하는 프로그램을 작성하시오. 

입력

첫 줄에는 숲의 크기 N (3 <= N <= 100)이 주어진다.

둘째줄부터는 주어진 지도가 N줄 만큼 입력된다. (단, 0은 산삼 없음, 1은 산삼 있음을 의미한다.)


출력

유정이가 먹을 수 있는 최대 산삼의 양을 출력한다.

예제 입력

5
0 1 0 0 1
0 0 1 0 0
1 0 1 1 0
1 1 0 1 0
1 0 0 0 1

예제 출력

6



[문제 설명]

(이런 문제의 경우, 손으로 직접 예제를 풀어보면서 문제를 이해하시는 게 제일 도움이 됩니다.)

문제에서 오른쪽 또는 아래쪽으로만 움직일 수 있고, 움직이면서 최대한 많이 산삼을 먹는게 목표인데요.

즉, 오른쪽 또는 아래쪽으로 이동해보면서 1을 가장 많이 지나는 경우를 찾으시면 됩니다.


[소스코드 설명]

저같은 경우 배열을 (1, 1)부터 사용을 하기 위해서 배열 사이즈를 하나 더 늘려주고, 처음에{0, 0}으로 초기화를 하였습니다. 이렇게 하시면은 비교를 할 때 맵의 크기를 넘어가는 경우에 대해서도 예외처리를 안해도 되기 때문에 매우 편합니다.


제가 짠 코드를 디버깅 돌려보면 다음과 같은 결과가 나옵니다.



0

0

0

0

0

0

 1

0

0

1

1

1

2

 2

0

 0

2 

 2

 3

 0

 1

 4

 0

 2

 5

 0

 3

6 





Posted by 밍쫑
,

두현이의 음모

문제

기회식 때 술게임으로 만취가 되어버린 두현이가 자신에게 술을 먹인 회원들에게 새로운 술게임을 통해

복수하려 한다. 게임의 룰은 이렇다.

10진수를 상대방에게 말하면 2진수로 좌우 대칭(이진 회귀수)이 맞는지 1초 안에 대답하는 게임이다.

예를들어 10진수 21은 2진수로 10101 이므로 이진회귀수이다.


두현이는 알딸딸한 상태에서도 게임의 승률을 높이기 위해 A와 B 사이에 해당하는 이진회귀수를 출력해 외우려 한다.

 

입력

A B  (2 <= A, B <= 100000) 

출력

A와 B 사이에 존재하는 2진 회귀수

예제 입력1

1 10

예제 출력1

1
3
5
7
9



[문제 설명]

2진수의 중간을 기점으로 양쪽을 비교하여 좌우 대칭을 이루는 수를 이진회귀수라고 부릅니다.

예를들어 11011, 101010101도 이진회귀수겠죠?

이번 문제에서는 입력으로 두 개의 숫자가 들어오게 되고, 그 숫자사이의 이진회귀수를 찾는 문제입니다.

입출력으로는 2진수가 아닌 10진수로 나타내야하는 것을 알아두셔야 합니다.


[소스코드 설명]

저같은 경우, 일단 while문을 돌면서 각 숫자를 2진수로 바꿔주었습니다.

그 후 2진수 문자의 길이의 절반만큼 for문을 돌면서 앞과 뒤를 비교하였습니다.

이 때 check라는 flag를 두어서 앞과 뒤가 같지 않을경우  check=0을 줘서 이진회귀수가 아님을 체크하였습니다.



Posted by 밍쫑
,

문제

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

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

 

입력

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

 

예제 입력1​

I evol gnusmas erawtfos .pihsrebmem

예제 출력1

I love samsung software membership



[문제 풀이]

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




Posted by 밍쫑
,