반응형
[프로그래머스 - 코딩테스트 연습] Lv.0 코드 처리하기.java
class Solution {
public String solution(String code) {
StringBuilder ret = new StringBuilder(); // StringBuilder로 문자열을 생성
int mode = 0; // 초기 모드는 0으로 설정
for (int idx = 0; idx < code.length(); idx++) {
char currentChar = code.charAt(idx); // 현재 문자
if (currentChar == '1') {
// '1'을 만나면 mode를 전환
mode = 1 - mode;
} else {
// 모드에 따라 문자를 추가
if (mode == 0 && idx % 2 == 0) {
ret.append(currentChar);
} else if (mode == 1 && idx % 2 != 0) {
ret.append(currentChar);
}
}
}
// ret이 빈 문자열이면 "EMPTY" 반환, 아니면 ret 반환
return ret.length() == 0 ? "EMPTY" : ret.toString();
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/181932
[프로그래머스 - 코딩테스트 연습] Lv.0 등차수열의 특정한 항만 더하기.java
class Solution {
public int solution(int a, int d, boolean[] included) {
int sum = 0; // 합을 저장할 변수
// included 배열을 순회하면서 각 항의 값을 계산 및 포함 여부를 확인
for (int i = 0; i < included.length; i++) {
// 현재 항: a + (i * d)
int currentTerm = a + i * d;
// included[i]가 true이면 현재 항을 합에 포함
if (included[i]) {
sum += currentTerm;
}
}
return sum; // 선택된 항들의 합 반환
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/181931
[프로그래머스 - 코딩테스트 연습] Lv.0 주사위 게임 2.java
class Solution {
public int solution(int a, int b, int c) {
int sum = a + b + c;
int sumOfSquares = a * a + b * b + c * c;
int sumOfCubes = a * a * a + b * b * b + c * c * c;
if (a == b && b == c) {
// 세 숫자가 모두 같은 경우
return sum * sumOfSquares * sumOfCubes;
} else if (a == b || b == c || a == c) {
// 두 숫자가 같고 나머지 하나는 다른 경우
return sum * sumOfSquares;
} else {
// 세 숫자가 모두 다른 경우
return sum;
}
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/181930
[프로그래머스 - 코딩테스트 연습] Lv.0 원소들의 곱과 합.java
class Solution {
public int solution(int[] num_list) {
int sum = 0; // 원소들의 합
int product = 1; // 원소들의 곱
for (int num : num_list) {
sum += num; // 합 계산
product *= num; // 곱 계산
}
// 합의 제곱과 곱 비교
return product < (sum * sum) ? 1 : 0;
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/181929
[프로그래머스 - 코딩테스트 연습] Lv.0 이어 붙인 수.java
class Solution {
public int solution(int[] num_list) {
StringBuilder oddNumbers = new StringBuilder(); // 홀수를 이어붙인 문자열
StringBuilder evenNumbers = new StringBuilder(); // 짝수를 이어붙인 문자열
for (int num : num_list) {
if (num % 2 == 0) {
evenNumbers.append(num); // 짝수인 경우
} else {
oddNumbers.append(num); // 홀수인 경우
}
}
// 문자열을 정수로 변환하여 합산
int oddSum = oddNumbers.length() > 0 ? Integer.parseInt(oddNumbers.toString()) : 0;
int evenSum = evenNumbers.length() > 0 ? Integer.parseInt(evenNumbers.toString()) : 0;
return oddSum + evenSum;
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/181928
반응형
'Computer Science > 알고리즘문제' 카테고리의 다른 글
[프로그래머스 - 코딩테스트 연습] 코딩 기초 트레이닝 Lv.0 문제 모음 (Day 6) (0) | 2024.08.03 |
---|---|
[프로그래머스 - 코딩테스트 연습] 코딩 기초 트레이닝 Lv.0 문제 모음 (Day 4) (0) | 2024.08.02 |
[프로그래머스 - 코딩테스트 연습] 코딩 기초 트레이닝 Lv.0 문제 모음 (Day 3) (0) | 2024.08.02 |
[프로그래머스 - 코딩테스트 연습] 코딩 기초 트레이닝 Lv.0 문제 모음 (Day 2) (0) | 2024.08.02 |
[프로그래머스 - 코딩테스트 연습] 코딩 기초 트레이닝 Lv.0 문제 모음 (Day 1) (0) | 2024.08.02 |