티스토리 뷰

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

문제풀이

 

다음 주어진 조건에 따라 n개의 수를 처리하면 8자리의 암호를 생성할 수 있다.

 

  • 8개의 숫자를 입력 받는다.
  • 첫 번재 숫자를 1 감소한 뒤, 맨 뒤로 보낸다.
    다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번재 수는 3을 감소하고 맨 뒤로, 그 다음 수는 4, 그 다음 수는 5를 감소한다.
    이와 같은 작업을 한 사이클이라 한다.
  • 숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램은 종료된다. 이 때의 8자리 숫자 값이 암호가 된다.

 

 

 

Queue를 사용하여 문제를 풀 수 있다.

숫자를 입력받은 후에 제일 앞에 있는 수를 1 감소, 그 다음 첫 번째 수는 2 감소, ..., 사이클 마지막 수는 5 감소시킨다.

 

감소시키는 값은 cycle이라는 변수로 두고 한 사이클이 끝난 경우, 즉 cycle이 5인 경우에는 다시 1로 바꿔서 그 다음 사이클을 시작하도록 해주었다.

 

숫자가 감소할 때 0보다 작아지면 마지막에 0을 넣고 큐에 있는 값들을 하나씩 꺼내면서 출력해준다.

 

 

코드

 

C++ 코드

 

 

Java 코드

 

 

'Problem Solving > SWEA' 카테고리의 다른 글

[SWEA 1238] Contact C++  (2) 2021.07.29
[SWEA 1226] 미로1 C++/Java  (0) 2021.07.29
[SWEA 1224] 계산기3 C++  (0) 2021.07.28
[SWEA 1267] 작업순서 C++  (0) 2021.07.28
[SWEA 1234] 비밀번호 C++/Java  (0) 2021.07.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함