홀짝 구분하기
입력 #1
100
출력 #1
100 is even
입력 #2
1
출력 #2
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");
}
}
}
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String result = n % 2 == 0 ? "even" : "odd";
System.out.println(n + " is " + result);
}
}
숫자가 홀수인지 짝수인지 판단하는 문제였다.
처음에는 if문을 사용해서 홀수 짝수를 분기 해주었다.
이후 다른 사람들이 삼항 연산자를 활용 한것을 보고 삼항연산자로 풀었더니 코드가 간결해졌다.
간단한 조건문은 삼항연사자를 활용하자.
JAVA 삼항 연산자
- 사용방법 : 조건식 == 값 ? "참일경우값" : "거짓일경우값";
- 조건식이 해당 값일 경우에는 왼쪽에 있는 결과 값을, 거짓일 경우에는 오른쪽에 있는 결과 값을 넣어준다
문자열 겹쳐쓰기
입출력 예
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) {
String answer = "";
String replace_string = "";
replace_string = my_string.substring(s,(s + overwrite_string.length()));
answer = my_string.replace(replace_string, overwrite_string);
return answer;
}
}
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
String = start_string = my_string.substring(0,s);
String = end_string = my_string.substring(s + overwrite_string.length());
answer = start_string + overwrite_string + end_string;
return answer;
}
}
my_string의 문자열을 s번째 인덱스에 해당하는 문자부터 overwrite_string의 문자열로 변경해주는 문제였다.
처음에는 java 문자열 변경에 replace 메서드를 떠올려서 코드를 작성해서 주어진 테스트를 만족 시켰으나 정답이 아니였다. 이후에 왜 정답이 아닌지 고민 해보면서 다양한 테스트 케이스를 작성했다. abab123 문자열의 2번째 인덱스 문자부터 cd로 변경할 경우가 문제였다. replace() 메서드의 경우 기존문자열을 가진 모든 부분을 변경하게 되어서 cdcd123 이라는 결과가 나오기 때문이였다.
그래서 기존 my_string을 substring()메서드를 사용해서 변경 글자 전 부분, 변경 글자 이후 부분으로 나눈 후 합쳐 주었더니 정답이였다.
JAVA String repalce() 메서드
- 사용방법 : str.replace([기존문자열],[바꿀문자열]);
- 문자열 치환 : 기존문자열에 해당하는 부분을 바꿀문자열로 치환해준다
JAVA String substring(int idex) 메서드
- 사용방법 : str.substring([시작인덱스],[끝인덱스]);
- 문자열 자르기 : 시작인덱스에 해당하는 문자부터 끝인덱스에 해당하는 문자의 전까지 잘라준다
- 끝인덱스를 생략할 경우 시작인덱스부터 문자열 끝까지 잘라준다
'문제 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 : JAVA] 코딩 기초 트레이닝 Day 5 조건문 (0) | 2024.07.19 |
---|---|
[프로그래머스 : JAVA] 코딩 기초 트레이닝 Day 3 연산 (0) | 2024.07.17 |
[프로그래머스 : JAVA] 코딩 기초 트레이닝 Day 1 출력 (0) | 2024.07.15 |
[프로그래머스 : ORACLE] Lv. 1 상위 n개 레코드 (0) | 2022.12.23 |
[프로그래머스 : ORACLE] Lv. 1 경기도에 위치한 식품창고 목록 출력하기 (0) | 2022.12.23 |