728x90
반응형

백준 알고리즘 18

[백준] 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를 사용해야 한다. 배열을 이용하여 푸는 방법은 배열 안에 과목 점수들을 집어넣은 후에 위와 같은 방법을 ..

728x90
반응형