반응형

Baekjoon 자바 코드/문자열 14

[백준] 11718번 그대로 출력하기 코드 (Java 자바)

예제 입력 값을 그대로 똑같이 출력하는 문제이다.접근 방법)Scanner의 nextLine()를 이용하면 한 줄씩 입력을 받을 수 있다. 이것을 이용하여 한 줄씩 받고 출력하여 다음 줄에 더 이상 입력값이 없을 때까지 반복해야 한다.while문을 이용하여 한 줄 입력값을 받고 출력하는 실행문을 만들 수 있다. 하지만 조건문을 어떻게 작성해야 하는가..Scanner의 인스턴스.hasNext()를 이용하여 다음 입력 값 여부에 따라 true 또는 false 값을 갖게 된다.아래 예제를 보면서 참고해 보자. ▷ 다음 입력 값이 없을 때까지 Scanner sc = new Scanner(System.in);while(sc.hasNext()){ String str = sc.nextLine(); Syste..

[백준] 5622번 다이얼 풀이 코드 (Java 자바)

다이얼을 걸기 위한 최소 시간을 구하는 문제이다.접근 방법)각 대문자 알파벳에 해당하는 다이얼 번호가 있다. 조건문을 이용하여 알파벳을 입력받았을 때 그에 해당하는 다이얼 번호를 할당하고, 할당받은 다이얼 번호의 총합을 구하면 된다.먼저 입력값을 받은 후 알파벳을 하나씩 처리하기 위해 입력 값 길이 만큼 반복하는 for문과 charAt()을 이용하여 알파벳을 하나씩 뽑아낼 수 있다. 그 후 조건문을 생성하여 다이얼 번호 구한다. ▷ 알파벳 하나씩 조건문 넣기String str = "ABA"; int sum = 0; // 총 합 구하기(출력할 값) for(int i = 0; i = 'A' && (int)ch = 'D' && (int)ch  정답 코드 1)import java.uti..

[백준] 2908번 상수 풀이 코드 (Java 자바)

문자열을 뒤집고 두 수의 크기 비교하는 문제이다.접근 방법)우선 문자열을 뒤집기 위해서 몇 가지 방법이 존재한다. for문을 이용하여 문자를 하나씩 위치를 거꾸로 배치하는 방법과 StringBuilder 클래스를 이용하는 방법이다.for문을 이용하여 문자열을 뒤집는 방법도 괜찮지만 StringBuilder 클래스의 주요 메소드를 이용하면 문제를 굉장히 쉽게 풀어낼 수 있다. 그렇기 때문에 StringBuilder 클래스와 주요 메소드를 알지 못했다면 이번 기회에 알아놓자. ▷ StringBuilder 클래스와 주요 메소드를 이용한 문자열 뒤집기 StringBuilder는 문자열에서 문자를 삽입, 붙이기, 제거, 뒤집기등 여러 가지 기능을 할 수 있는 클래스이다.우리가 사용할 메소드는 reverse()와 ..

[백준] 1152번 단어의 개수 풀이 코드 (Java 자바)

띄어쓰기로 구분되어 있는 단어의 개수를 출력하는 문제이다.접근 방법)StringTokenizer클래스를 이용하면 문자열 분리와 관련된 코드를 쉽게 작성할 수 있다.이 클래스를 이용하여 띄어쓰기를 기준으로 문자열을 분리하고 countTokens() 함수를 이용해 분리된 토큰수를 출력하면 된다.  ▷ StringTokenizer클래스를 이용한 문자열 분리 StringTokenizer는 문자열을 구분자를 사용하여 분리할 때 자주 사용된다.(스페이스, 공백, 콤마를 기준으로 문자열 분리에 사용) String Tokenizer에 관한 자세한 내용은 아래 페이지를 통해 알아보자. [ Java 자바 ] StringTokenizer 클래스를 이용한 문자열 분리!StringTokenizer클래스는 많이 들어본 클래스 이..

[백준] 2675번 문자열 반복 풀이 코드 (Java 자바)

두 번째 줄부터 왼쪽 정수 숫자만큼 오른쪽 문자열의 각 문자를 반복하여 출력하는 문제이다.상당히 쉬운문제에 속하여 for문을 조금만 이용한다면 쉽게 풀 수 있다.접근 방법)첫째 줄에 테스트 케이스의 개수를 입력 받아, 그 수 만큼 반복하도록 for문을 생성한다.그 다음 둘째 줄 부터 정수(R)와 문자열(S)을 각 각 입력 받고 문자열 길이 만큼 반복하는 for문을 생성한다.마지막으로 그 for문안에서 문자를 하나씩 R만큼 반복하여 출력하는 코드를 작성하면 올바른 출력 결과가 만들어진다.  ▷ 문자열 각 문자마다 반복 출력하기 총 for문을 3번 이용하여 각 문자를 반복 출력할 수 있다.s.charAt()을 사용하여 문자를 출력하고 2번째 for문 밖에서 System.out.println()을 입력하여 다..

[백준] 10809번 알파벳 찾기 풀이 코드 (Java 자바)

a~z 기본 출력값이 -1인 상황에서 예제 입력한 문자열의 각 알파벳이 별로 처음 등장한 위치를 -1에서 바꿔주는 문제이다.접근 방법)처음으로 26 크기를 가진 배열을 생성한 후 모든 배열 값을 -1로 설정한다.그리고 입력 값을 받아와 입력 값 길이만큼 반복하는 for문을 만든 다음 char를 이용하여 알파벳을 하나씩 뽑는다.하나씩 뽑은 알파벳이 26크기를 가진 배열에서 몇 번째 배열에 위치하는지 알기 위해서 아스키코드를 사용한다.그리고 해당 배열에 위치한 알파벳이 입력값에서 처음 등장한 위치가 얼마인지 바꿔준다.  ▷ 입력값에서 알파벳 처음 등장한 위치 찾기 str.charAt(i)을 그대로 사용하여 출력하게 되면 아스키코드 값이 출력된다.a의 아스키코드 값은 97이므로 (int)ch - 97로 코드를..

[백준] 11720번 숫자의 합 풀이 코드 (Java 자바)

첫 번째 줄의 숫자 개수만큼 두 번째 줄에 일의 단위 숫자들을 나열하여 두 번째 줄의 수 합을 구하는 문제이다.접근 방법)첫번째 줄의 입력 값만큼 for문을 반복하여 두 번째 줄의 입력값을 하나씩 누적해서 더하면 된다.for문 안에서 두번째 줄 입력값을 하나씩 뽑아내기 위해서는 아래와 같이 코드를 작성하여 풀이하면 된다.  ▷ char -> Int 형으로 변환하기str.charAt(i)을 그대로 사용하여 출력하게 되면 아스키코드 값이 출력된다.그래서 정수 0의 아스키 코드아스키코드 값이 48, 1의 아스키코드 값이 49를 가지기 때문에 str.charAt(i)에 -48을 해주어 우리가 출력하고자 하는 정수값을 만들어주어야 한다. for(int i = 0; i   정답 코드 1)import java.ut..

[백준] 9086번 문자열 풀이 코드 (Java 자바)

간단하게 주어진 입력값의 맨 앞 문자와 맨 뒤 문자를 이어서 출력하는 문제이다.접근 방법)맨 앞과 뒤의 문자를 출력하기 위해서 charAt(), length()를 알고 있어야 한다.s.charAt(0)을 사용하여 맨 앞 문자를 가져오고, charAt(s.length()-1)을 사용하여 맨 뒤 문자를 가져올 수 있다. ▷ 맨 앞과 맨 뒤 문자 출력String s = "망댕이의 끄적끄적";System.out.println(s.charAt(0)); // 맨 앞 문자 출력System.out.println(s.charAt(s.length()-1)); // 맨 뒤 문자 출력   정답 코드 1)import java.util.Scanner;class Main{ public static void main(Strin..

[백준] 2743번 단어 길이 재기 풀이 코드 (Java 자바)

이 문제는 문자열을 입력받으면 해당 길이를 출력하는 1차원적인 문제이다.접근 방법)문자열의 길이를 출력하기 위해서는 length()라는 함수를 기억해 놓도록 하자 ▷ charAt()String형의 변수 뒤에 length()를 붙이게 되면 해당 글자의 길이를 나타낸다.String str = "망댕이의 끄적끄적";int i = str.length();// i값은 9 length()를 이용하면 띄어쓰기 포함 모든 문자를 측정한다. 정답 코드 1)import java.util.Scanner;class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String a = sc.next(..

[백준] 27866번 문자와 문자열 풀이 코드 (Java 자바)

이 문제는 문자열에서 문자를 뽑아내는 아주 기본적인 문제이다.접근 방법)우선 처음으로 문자열에서 문자를 뽑아내는 문제를 접한다면 charAt()이라는 함수를 알아놓도록 하자 ▷ charAt()String형의 변수 뒤에 charAt(문자번호)를 붙이게 되면 문자번호에 해당하는 글자를 선택하여 char타입으로 변환시켜 준다.String str = "망댕이의 끄적끄적";num = str.charAt(2);System.out.println(num);// 출력결과 : 이 문자열은 0부터 시작함으로 2번에 해당하는 '이'라는 글자가 char타입으로 변환되고 해당 글자를 출력할 수 있게 되는 것이다. 정답 코드 1)import java.util.Scanner;class Main{ public static voi..

반응형