테스트 사이트 - 개발 중인 베타 버전입니다

쉬운 자바 코딩 문제..

저는 이번에 처음 자바에 접하게된 학생인데



안풀리는 문제가 하나있네요..ㅠ



시퀀스가 n 인 range 가 k 와 k+n 이고 k 는 랜덤한 숫자인데



여기서 n+1 이없어요..



예를들어서 input 이 17  19  18  12  13  15  16 이라면



12 13 15 16 17 18 19 로 순서대로 정렬되고



output 이 14가 나와야하는데..



이코드 쉬워보이는데 어떻게 짤까요?
댓글을 작성하려면 로그인이 필요합니다.

답변 1개

음 인풋숫자중에 min값과 max값 두개를 구한 다음에.

min = a, max = b, k개의 인풋 배열을 x[k]라 칩시다.

그리고 for(int i = a; i < b; i++) 로 포문 안에

인풋값들을 또 포문 돌려서 for ( int j = 0; j < k; j++) 로 포문 돌려서

그 안에 if 문으로 비교하면될거같네요



소스 :

output 배열을 output[k], output값을 outputValue라 하면



for (int i = a; i<b; i++){

&nbsp; &nbsp; for(int j = 0; j<k; j++){

&nbsp; &nbsp; &nbsp; &nbsp; if(i == x[k]){

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; output[i-a] = i;&nbsp; &nbsp; &nbsp; &nbsp; // 배열 순서대로 정렬해서 넣어줌

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; 빈칸이 없으므로 다음으로 넘어감.

&nbsp; &nbsp; &nbsp; &nbsp; }else if(i != x[k] && j == k-1)

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; outputValue = i; //끝까지 포문 돌렸는데 일치 값이 없을 때 outputValue

&nbsp; &nbsp; &nbsp; &nbsp; }

&nbsp; &nbsp; }

}



이런식으로 짜주면 될거같네요
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고