반응형

백준 45

[백준] 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..

[백준] 11654번 아스키 코드 풀이 코드 (Java 자바)

아스키(ASCII) 코드는 컴퓨터에서 문자를 표현하기 위한 표준 코드이다.각 문자와 숫자, 기호에 고유한 7비트 정수 값을 할당하여 컴퓨터가 이를 이해하고 처리할 수 있게 한다..예를 들어, 대문자 'A'는 아스키코드 값 65, 소문자 'a'는 97, 숫자 '0'은 48에 해당한다. 문자를 입력받으면 그에 해당하는 아스키 코드 값을 구해보도록 하자.접근 방법)아스키 코드를 구하기 위해서는 char형 문자 하나를 입력받아 그것을 int형으로 바꿔주면 된다.  ▷ 아스키 코드 변환 방법char형의 문자를 int형으로 변환시켜 출력하면 된다.char character = 'A';int asciiValue = (int) character; // 'A'의 아스키 코드 값을 얻기 위해 int로 캐스팅System.o..

[백준] 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..

[백준] 1546번 평균 풀이 코드 (Java 자바)

이 문제는 내 생각에서 브론즈 1 정도 난이도를 가지고 있는 문제라고 생각하지 않았다.또한 1차원 배열 파트에 굳이 넣었어야 하는 문제인가 생각이 들기도 하였다.접근 방법)우선 처음으로 배열을 제외하고 푸는 방법으로는 for문을 이용하여 시험 본 과목 개수 N번만큼 반복 실행을 한다.그 for문 안에서 모든 시험 과목 점수들을 더하는 코드와 최댓값을 찾는 코드를 넣어준다.그리고 마지막으로 문제에서 주어진대로 과목 점수의 총 합/ 최댓값 *100 / 과목수로 계산하여 평균을 구해준다.참고로 주의해야할 점이 있다. 출력 값이 정수가 아닌 소수점까지 나타내는 값이라 int가 아닌 double이나 float를 사용해야 한다. 배열을 이용하여 푸는 방법은 배열 안에 과목 점수들을 집어넣은 후에 위와 같은 방법을 ..

[백준] 10811번 바구니 뒤집기 풀이 코드 (Java 자바)

접근 방법)이 문제는 배열을 2개를 이용하여 문제를 해결할 수 있다.배열을 2개를 사용하는 이유는 입력 값에서 주어진 범위 안에서 역순으로 나타낸 배열을 잠시 저장할 수 있는 배열이 필요하기 때문이다.말만으로 이해가 되지 않으면 아래 코드를 참고해보자. ▷ 역순 배열 저장for문을 이용하여 arr2 배열에 입력값 범위 내에서 역순으로 만든 다음(저장), arr1에 arr2 모든 배열 값들을 순서대로 똑같이 복사하는 방법을 이용한다.for(int i = 0; i  이런 방법을 생각해서 배열 번호와 입력 값에 해당하는 숫자 번호를 일치 시킬 때 머리가 조금 아프다 이 방법을 이용해서 아래와 같이 코드를 완성해 보자.정답 코드 1)import java.util.*;class Main { public st..

반응형