본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1570 : 함수로 Lower Bound 위치 리턴하기

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1570 함수로 Lower 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 (풀이)

  • 풀이 : 메모리 12064, 시간 64
public class Answer {

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

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

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

        int numbers[] = new int[count];

        for (int i=0; i<count; i++) {
            numbers[i] = Integer.parseInt(st1.nextToken());
        }

        int index = count+1;
        for (int i=0; i<count; i++) {
            if (theNum <= numbers[i]) {
                index = i+1;
                break;
            }
        }

        System.out.println(index);

    }

}

Ranking(순위)

반응형