작심 2일차 가보자구
두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.
a + b = c
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a + " + " +b + " = " + (a + b));
}
}
Scanner를 통해서 입력값을 받고, System.out.println()을 통해서 출력했다.
a+b의 결과값을 변수에 저장하지 않고, 괄호를 통해 구분하였다. 괄호가 없으면 a+b=a+b로 출력된다.
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.
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.println(a+b);
}
}
Scanner를 통해서 입력값을 받고, System.out.println()을 통해서 출력했다.
문자열을 +연산자를 이용해서 연결하였다.
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String[] str = a.split("");
for(int i=0; i<str.length; i++){
System.out.println(str[i]);
}
}
}
Scanner를 통해서 입력값을 받고, split을 통해서 String을 String[]인 배열로 만들다음 for문을 돌면서 한글자씩 println을 통해서 출력했다.
자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.
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) {
System.out.println(n + " is even");
} else {
System.out.println(n + " is odd");
}
}
}
입력받은 값이 2로 나눴을 때, 나머지가 0이라면 짝수 그렇지 않다면 홀수인 점을 이용해서 if~else문으로 경우를 나누고 println을 통해 출력했다.
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
String[] my_str = my_string.split("");
String[] over_str = overwrite_string.split("");
for(int i=0; i<my_str.length; i++){
if((s <= i) && (i <= s + over_str.length - 1)){
answer += over_str[i-s];
}else{
answer += my_str[i];
}
}
return answer;
}
}
입력받은 my_string, overwrite_string를 split을 통해서 String[]을 만들고, 배경이 되는 my_string을 쪼갠 my_str 배열을 for문으로 돌면서 if~else문을 통해서 조건에 따라 answer에 문자를 추가했다.
조건으로는 입력받은 s의 index부터 시작하면서, overwrite_string의 길이만큼 변경되어야하는데, length를 통해서 길이를 가져오다보니 index와 1차이가 있어서 -1을 추가하였다
여기까지 오늘 알고리즘 공부가 끝났다. 아래는 오늘의 알고리즘 진도표이다.
오늘도 알차게 시작!