JAVA를 잡아라!...

JAVA_[Lv.0] #1~5 (if문, for문, Scanner, 형변환, 특수문자 출력...) 본문

JAVA/JAVA_연습문제_프로그래머스

JAVA_[Lv.0] #1~5 (if문, for문, Scanner, 형변환, 특수문자 출력...)

onivv 2023. 11. 22. 22:46

문제 출처 : 프로그래머스

#1 문자열 출력하기

문제 설명
문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
HelloWorld!
출력 #1
HelloWorld!

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {    // 메인 메소드
        Scanner sc = new Scanner(System.in);    // Scanner 선언
                                                // Scanner는 사용자 입력값을 받는 클래스
        String a = sc.next();                   // 변수 a에 사용자 입력값 받기
        System.out.print(a);                    // 변수 a를 print 메소드로 출력
    }
}

 

#2 a와 b 출력하기

문제 설명
정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
4 5
출력 #1
a = 4
b = 5

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();                   // nextInt() : 사용자에게 정수 받음
        int b = sc.nextInt();

        System.out.println("a = " + a);         // "a = " 와 정수형 a를 더해
        System.out.println("b = " + b);         // String형으로 출력
    }
}

 

#3 문자열 반복해서 출력하기

문제 설명
문자열 str과 정수 n이 주어집니다.

str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
string 5
출력 #1
stringstringstringstringstring

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        int n = sc.nextInt();
        
        for (int i = 0; i < n; i++){    // 반복 횟수가 정해져있으니 for 반복문 사용
            System.out.print(str);      // i가 n보다 작으면 str출력
        }                               // print를 사용해서 줄바꿈 없이 출력
    }
}

 

#4 대소문자 바꿔서 출력하기

문제 설명
영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
aBcDeFg
출력 #1
AbCdEfG

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();                   // a : 사용자에게 문자열 받음
        String result = "";                     // 결과를 담을 변수 초기 선언
        
        for(int i = 0; i < a.length(); i++) {   // a.length() : a 문자열의 길이
            char c = a.charAt(i);               // a.charAt(i) : a 문자열의 i번째 문자 추출
            if(c < 93) {                        // 아스키코드 : 문자를 숫자로 표현한 표
                result += (char)(c + 32);       // c가 93보다 작으면 대문자이므로
            }                                   // c에 32를 더해 소문자로 변환
            else {                              // (char)(정수) 강제형변환 intTochar
                result += (char)(c - 32);       // 그 외는 소문자이므로
            }                                   // c에 32를 빼 대문자로 변환
        }
        
        System.out.print(result);               // result 출력!
    }
}

 

#5 특수문자 출력하기

문제 설명
다음과 같이 출력하도록 코드를 작성해 주세요.


출력 예

출력 #1
!@#$%^&*(\'"<>?:;

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        System.out.print("!@#$%^&*(\\\'\"<>?:;");
        // 특수문자 중 아래의 3가지는 \를 앞에 붙여줘야 문자로 인식한다.
        // ' -> \'
        // " -> \"
        // \ -> \\
    }
}