JAVA를 잡아라!...

JAVA_[Lv.0] #6~10 (if문, for문, 문자열 배열, 메소드, substring()) 본문

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

JAVA_[Lv.0] #6~10 (if문, for문, 문자열 배열, 메소드, substring())

onivv 2023. 11. 24. 00:10

문제 출처 : 프로그래머스

#6 덧셈식 출력하기

문제 설명
두 정수 a , b 가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
4 5
출력 #1
4 + 5 = 9

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();               // 사용자에게 받은 정수를 a에 대입
        int b = sc.nextInt();               // 사용자에게 받은 정수를 b에 대입
        int sum = a + b;                    // 두 정수의 합을 sum에 대입
        
        System.out.println(a + " + " + b + " = " + sum); // 출력
    }
}

 

#7 문자열 붙여서 출력하기

문제 설명
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
apple pen
출력 #1
applepen

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        
        System.out.print(a+b);
    }
}

 

#8 문자열 돌리기

문제 설명
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
abcde
출력 #1
a
b
c
d
e

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        
        for(int i = 0; i < a.length(); i++) {   //String a의 길이만큼 반복문 실행
            System.out.println(a.charAt(i));    //charAt()으로 문자 하나씩 추춞
        }
    }
}

 

#9 홀짝 구분하기

문제 설명
자연수 n이 입력으로 주어졌을 때

만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.


입출력 예

입력 #1
100
출력 #1
100 is even

 

소스코드 풀이

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        if(n % 2 == 0) {    //n을 2로 나눈 나머지가 0일 때(짝수)
            System.out.print(n + " is even");   //출력
        }
        else {                                  //그 외는(홀수)
            System.out.print(n + " is odd");    //출력
        }
    }
}

 

#10 문자열 겹쳐쓰기

문제 설명
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.


출력 예

my_string		overwrite_string		s	result
"He11oWor1d"		"lloWorl"			2	"HelloWorld"
"Program29b8UYP"	"merS123"			7	"ProgrammerS123"

 

소스코드 풀이

class Solution { // 메소드 선언
    public String solution(String my_string, String overwrite_string, int s) {
        // 리턴타입 매소드명(매개변수) {
        //      실행문장;
        //      return 리턴값;
        // }
        
        // 리턴타입 : String
        // 메소드명 : solution
        // 매개변수 : (자료형 매개변수명) 외부에서 전달받을 값을 자료형과 매개변수명으로 선언
        // 실행문장 : 소스코드
        // 리턴값  : 외부(메소드를 사용하는 곳)로 전달하는 반환값
        
        String answer = "";     // 리턴값을 저장할 변수 선언
        String a = my_string.substring(0, s);   // substring() 메소드 
                                                // : 문자열 메소드로, 문자열을 매개변수 기준으로 잘라줌
                                                // 변수.substring(시작위치, 끝위치(선택사항))
        String b = overwrite_string;
        String c = my_string.substring(s + overwrite_string.length());
                                    //s값과 overwrite의 길이를 합해 마지막 문자열 추출
        answer =  a + b + c;
        return answer;
    }
}