알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43113/substring/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

이번에도 Scanner와 함께 같이 이용해서 풀어본다.

일단 처음 input으로 I Love You를 받는다.

그리고 3 4를 하면 

3번째에 있는 Love부터 4글자 출력되면 되는 문제이다.

 

import java.io.*;
class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String input = br.readLine();
		String[] range = br.readLine().split(" ");
		System.out.println(range[0]+ " " + range[1]);
		
		String answer = input.subString(range[0], range[1]);
		
		System.out.print(answer);
	}
}

input.subString 부분에서 에러가 난다.

첫 번째 파라미터로 begin을 받고 두 번쨰 파라미터로 end를 받는데 도대체 어느 부분이 문제인 것인가 ....

 

 


Solution✍
import java.io.*;
class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String input = br.readLine();
		String[] range = br.readLine().split(" ");
		
		String answer = input.substring(Integer.parseInt(range[0])-1, Integer.parseInt(range[0])+Integer.parseInt(range[1])-1);
		
		System.out.print(answer);
        	br.close();
	}
}

0,1,2 이렇게 읽고 range의 값은 -1 부터 시작해야 된다.

그리고 뒤에 값은 그 범위 부터 + 두번째 입력된 값 부터 시작해야 한다.

 

이걸 Scanner로 바꿔서 풀어보자

 

import java.io.*;
import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String munjang = sc.nextLine();
		int a = sc.nextInt();
		int b = sc.nextInt();
		
		String answer = munjang.substring(a-1,a+b-1);
		
		System.out.print(answer);
        	sc.close();
	}
}

Scanner를 이용하면 띄어쓰기를 해도 값을 인식한다.

뒤에 있는 값은 누적해서 -1을 뺀 값을 넣어주는 것이 맞는답.


Review🤩

스캐너를 쓰면 편하지만 버퍼리더가 성능 적으로 좋기 때문에 버퍼리더를 쓰는것이 좋아보인다


 

'Algorithm' 카테고리의 다른 글

[구름] 약수의 합  (0) 2021.12.25
[구름] 소수 판별  (0) 2021.12.25
[구름] Bubble Sort  (0) 2021.12.25
[구름] 369 게임  (0) 2021.12.25
[구름] 시험성적 평균과 등급 구하기  (0) 2021.12.25

+ Recent posts