본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1571 : 함수로 Upper Bound 위치 리턴하기

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1571 함수로 Upper Bound 위치 리턴하기 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

첫 줄에 데이터의 개수(n)가 입력된다.
두 번째 줄에 n개의 오름차순 데이터(ki)가 공백을 두고 입력된다.
세 번째 줄에 찾기를 수행할 값(k)이 입력된다.
(1 <= n <= 1000)
(-2147483648 <= ki,k <= 2147483647)

출력

입력된 값보다 큰 값이 저장된 처음 위치를 출력한다.
(입력된 값이 저장되어있는 모든 값보다 크거나 같으면 n+1 값을 출력한다.)

예시

  • 입력 :
    5
    1 3 5 7 9
    4
  • 출력 : 3

Solution (풀이)

  • 풀이 : 메모리 11952, 시간 73
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());

        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        int theNum = Integer.parseInt(br.readLine());

        int index = count+1;
        for (int i=1; i<=count; i++) {
            int number = Integer.parseInt(st.nextToken());

            if (number > theNum) {
                index = i;
                break;
            }

        }

        System.out.println(index);

    }

}

Ranking(순위)

반응형