728x90
반응형
3.1 절 맞이 알고리즘 문제 풀이 진행 중이다. 배열 문제도 빠르게 마무리 짓고 기본을 탄탄히 할 수 있는 개발자가 되었으면 좋겠다.
오늘 배운 것
1. 문제 풀이
. else if 로직에 대한 이해도를 높이는 계기가 되었다.
. 비기는 로직 > A가 이기는 로직 > else B가 이기는 로직
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int i = kb.nextInt();
ArrayList<Integer> a = new ArrayList<>();
ArrayList<Integer> b = new ArrayList<>();
for (int j = 0; j < i; j++) {
a.add(kb.nextInt());
}
for (int j = 0; j < i; j++) {
b.add(kb.nextInt());
}
solution(i,a,b);
}
private static void solution(int i, ArrayList<Integer> a, ArrayList<Integer> b) {
ArrayList<String> answer = new ArrayList<>();
for (int j = 0; j < i; j++) {
int a_ = a.get(j);
int b_ = b.get(j);
// 내가 처음에 생각한 로직
if(a_ == b_){
answer.add("D");
}else if(a_ == 1){
if (b_ == 2){
answer.add("B");
}else{
answer.add("A");
}
}else if(a_ == 2){
if (b_ == 1){
answer.add("A");
}else{
answer.add("B");
}
}else if(a_ == 3){
if(b_ == 1){
answer.add("B");
}else{
answer.add("A");
}
}
/** 풀이 로직
if(a_ == b_){
answer.add("D");
}else if(a_ == 1 && b_ == 3){
answer.add("A");
}else if(a_ == 2 && b_ == 1){
answer.add("A");
}else if(a_ == 3 && b_ == 2){
answer.add("A");
}else{
answer.add("B");
}
*/
}
for (int j = 0; j < answer.size(); j++) {
System.out.println(answer.get(j));
}
}
}
728x90
반응형
'알고리즘 > 문자열, 정렬' 카테고리의 다른 글
[알고리즘] 에라토스테네스의 체 with Java, int[] 초기화 (0) | 2022.03.03 |
---|---|
[알고리즘] 피보나치 수열 with Java (0) | 2022.03.03 |
[알고리즘] 보이는 학생 with Java (0) | 2022.03.01 |
[알고리즘] 큰 수 출력하기 with Java (0) | 2022.03.01 |
[알고리즘] 문자열 총 정리 with Java (0) | 2022.02.28 |