덧셈식 출력하기
[문제 설명]
두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.
a + b = c
[제한사항]
1 ≤ a, b ≤ 100
입출력 예)
입력 4 5
출력 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();
int b = sc.nextInt();
int c = a+b;
if(1 <= a && a <= 100 && 1 <= b && b <= 100){
System.out.println(a + " + " + b + " = " + c);
}else{
System.out.println("조건에 맞지 않습니다.");
}
sc.close();
}
}
a+b를 담은 변수를 만들어서
a+b=c로 출력 했다
c대신 (a+b)로 처리해도 됨 !
문자열 붙여서 출력하기
[문제 설명]
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.
[제한사항]
1 ≤ str1, str2의 길이 ≤ 10
입출력 예)
입력 apple pen
출력 applepen
입력 Hello World!
출력 HelloWorld!
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();
String c = a+b;
if(1<=a.length() && a.length()<=10 && 1<=b.length() && b.length()<=10){
if(!c.contains(" ")){
System.out.println(c);
}else{
System.out.println("조건에 맞지 않습니다.");
}
}
sc.close();
}
}
이것도 역시 c라는 변수에 a+b를 담았다
!c.contains(" ") 를 사용해서 공백이 없으면
c를 출력하도록 했다
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();
String answer = a.concat(b);
System.out.println(answer);
}
}
이건 다른 사람들이 사용한 방식 중 하나 !
concat을 사용할 생각은 못했는데
다음엔 concat 활용해봐야겠다
문자열 돌리기
[문제 설명]
문자열 str이 주어집니다.
문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.
[제한사항]
1 ≤ str의 길이 ≤ 10
입출력 예)
입력 abcde
출력 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();
if(1<=a.length() && a.length()<=10){
for(int i=0; i<a.length(); i++){
char c = a.charAt(i);
System.out.println(c);
}
}
sc.close();
}
}
시계 방향 어쩌고.. 90도 어쩌고 하지만
그냥 한글자씩 떼서 한줄로 출력하는거임
if문에 조건넣고
for문으로 a길이만큼 반복하도록 했다
한글자씩 charAt을 이용하여 담고 출력
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++){
System.out.println(a.charAt(i));
}
}
}
같은 방식이지만 조금 더 간결한 코드
정답은 없다지만 !
다른 사람들의 코드를 많이 보면서
간결화 하는 법도 배워야겠다
홀짝 구분하기
[문제 설명]
자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을,
홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요.
[제한사항]
1 ≤ n ≤ 1,000
입출력 예)
입력 100
출력 100 is even
입력 1
출력 1 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");
}
}
}
오랜만에 보는 짝수 홀수 구분하기
초반에 학원에서 배웠던게 새록새록 떠오른다
n을 2로 나눈 나머지가 0인 경우는 짝수
그렇지 않으면 홀수 처리
문자열 겹쳐쓰기
[문제 설명]
문자열 my_string, overwrite_string과 정수 s가 주어집니다.
문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
[제한사항]
my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,0000 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
입출력 예)
입출력 예)
my_string overwrite_string s result "He11oWor1d" "lloWorl" 2 "HelloWorld" "Program29b8UYP" "merS123" 7 "ProgrammerS123"
예제 1번의 my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.
입출력 예)
예제 2번의 my_string에서 인덱스 7부터 overwrite_string의 길이만큼에 해당하는 부분은 "29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
if(overwrite_string.length() <= my_string.length() && my_string.length() <= 1000){
String m = my_string.substring(0,s);
answer = m+overwrite_string+my_string.substring(s + overwrite_string.length());
}
return answer;
}
}
길이만큼을 어쩌고 .. 바꾼 문자열을 어쩌고..
처음에 쓱 읽고 살짝 당황했지만
침착하게 다시 읽음
my_string의 s번지부터 overwrite_string 길이만큼
overwrite_string 으로 바꾸라는 뜻으로 파악
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
if(overwrite_string.length() <= my_string.length() && my_string.length() <= 1000){
String m = my_string.substring(0,s);
answer = m+overwrite_string;
}
return answer;
}
}
처음에는 m+overwrite_string까지만 처리를 했는데
그러면 HelloWorld 같은 경우는 HelloWorl까지만 출력이 된다
그래서 overwrite_string 길이만큼을 뜻하는
my_string.substring(s + overwrite_string.length())을 + 해줘야 함 !
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String before = my_string.substring(0, s);
String after = my_string.substring(s + overwrite_string.length());
return before + overwrite_string + after;
}
}
이건 다른사람이 짠 코드
간결하고 눈에 딱 들어와서 감탄했다
이렇게 생각할 수도 있구나 ..
'🤍 𝙋𝙍𝙊𝙂𝙍𝘼𝙈𝙈𝙀𝙍𝙎' 카테고리의 다른 글
[프로그래머스] Day5 조건문 (0) | 2024.08.21 |
---|---|
[프로그래머스] Day4 연산, 조건문 (0) | 2024.07.15 |
[프로그래머스] Day3 연산 (1) | 2024.07.14 |
[프로그래머스] Day1 출력 (0) | 2024.07.02 |