본문 바로가기

TIL/Java

Basic Algorithm 8th

반응형

사용자로부터 초를 입력받으면 *년*일*시*분으로 환산해서 출력하기

Scanner로 사용자로부터 입력받은 초를 int 타입 second로 지칭한다

미리 3개의 배열을 만들어 놓는데,

1. int converted 배열 = 나중에 초를 해당 년/일/시/분으로 나눈 값들을 담을 배열

2. int seconds 배열 = 초를 나눌 값들을 담을 배열

3. String units 배열 = {"년","일","시","분"} <- 사용자에게 보일 값들을 담을 배열

반복문을 통해,

converted 배열까지 i 를 반복시키면서 값을 담을 예정

예를 들어 i 가 0 일 때

converted[0] = second / seconds [0]

(converted의 0번째 값에 담아놓는다) (사용자로부터 입력받은 초) (seconds의 0번째 값 = 즉, 1년으로 나누는 값)

second %= seconds [i]

(남은 초는 = 입력받은 초를 1년으로 나눈 값의 나머지이다.)

이런 식으로 i를 돌면서 1년 / 1일 / 1시간 단위로 계속 나누고, 나눈 값을 converted 배열에 순차적으로 집어넣는다

그리고 만약 0년 0일 0시간 4분 2초처럼

앞에 필요 없는 단위를 출력 안 하기 위해서, boolean 타입으로 exist를 false를 지정해놓고

반복문을 돌려주고

마지막으로 반복 문안에서는 (년 일 시 분)을 값에 맞게 printf로 출력해주었고

다 나누고 나머지 second를 초에 넣어주면 끝!

반응형

'TIL > Java' 카테고리의 다른 글

Basic Algorithm 10th  (0) 2021.08.03
Basic Algorithm 9th  (0) 2021.08.03
Basic Algorithm 7th  (0) 2021.08.03
Basic Algorithm 6th  (0) 2021.08.03
Basic Algorithm 5th  (0) 2021.08.02