728x90

오늘은 백준 2675 문자열 반복 풀기입니다.

 

 

저는 2가지 방법으로 풀어보겠습니다.

 

 

Scanner를 통해 문제를 풀어볼건데 for문을 사용하는방법과 아닌 방법 두가지를 설명드리겠습니다.

 

일단 밑에 나와있는것처럼 저는 문자열을 repeat을 사용해서 값을 만들어봤습니다. 

java 8 에는 없지만 java11부터 사용한다는 "repeat" 입니다. 

 

 

 

 

Java에서 단일 문자열을 정렬하는 방법을 보여줍니다.

사용되는 가장 일반적인 순서는 알파벳 순서입니다. 정렬은 데이터를 표준 형식으로 변환하고 사람이 읽을 수있는 형식을 만드는 프로세스입니다.

Arrays.sort()방법으로 문자를 정렬하기 이전에 

repeat을 사용하여서 문자열을 반복시켜줍니다. 

문자열 클래스에는 정렬 방법이 없습니다. 문자열을 정렬할때 주된 아이디어는 toCharArray()메소드를 사용하여 주어진 문자열을 문자 배열로 변환 시키는것입니다. 그후에 Arrays.sort() 메서드를 사용하여 해당 배열을 정렬시킵니다. 

문자열 생성 이후 toCharArray() 메소드를 사용하여 문자 배열로 변환 한 후 Arrays.sort를 사용하여 변환 된 문자 배열을 정렬하고 문자열로 형변환 합니다. 

 

 


두번째 방법입니다. 전형적인 for문을 사용하여 문자열을 반복하여 돌리고 charAt으로 문자를 쪼개어서 반복시킵니다.

문자열 s 를 입력받을 때 Scanner.nextLine() 이 아닌 Scanner.next() 로 입력받아야 한다.

nextLine() 으로 입력받으면 입력 과정에서 공백까지 읽어버리기 때문이다.

nextLine() 은 엔터값을 입력받을 때까지 기준으로 한 줄을 읽어버린다.

반면에 next() 는 공백을 기준으로 하나의 문자열만 읽어들인다.

 

nextLine() 은 3과 ABC 사이에 있는 공백까지 읽어들이기 때문에 위와 같은 현상이 나타나므로 반드시 next() 로 문자열을 입력받아야 한다.

 

그럼 이만~ 

728x90

'문제풀이 > 백준' 카테고리의 다른 글

백준 자바 1152번 문제풀이  (0) 2022.04.26
1157번 백준 자바 문제 풀이  (0) 2022.04.19
백준 4344 평균은 넘겠지?  (0) 2022.03.17
8958번 백준 자바 문제 풀이  (0) 2022.03.14
백준 1546번 자바  (0) 2022.03.09
복사했습니다!