알고리즘
[Array(1,2차원 배열)] 큰 수 출력하기 & 보이는 학생 & 가위바위보
날아
2023. 3. 23. 17:58
Q.N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램
단, 첫번째 수는 무조건 출력한다.
Class Main {
public ArrayList<Integer> solution(int n, int[] arr){
ArrayList<Integer> answer = new ArrayList<>();
answer.add(arr[0]);
for(int i=1; i<n; i++){
if(arr[i]>arr[i-1]) {
answer.add(arr[i]);
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n, i++) {
arr[i] = kb.nextInt();
}
for(int x : T.solution(n, arr)){
System.out.print(x+" ");
}
System.out.print(T.solution(str));
}
}
Q. 학생이 일렬로 서있을 때 선생이 몇 명을 볼 수 있는지 구하시오
단, 어떤 학생이 자기 앞에 서있는 학생들보다 크면 그 학생은 보이고, 작거나 같으면 보이지 않는다.
Class Main {
public int solution(int n, int[] arr){
int answer=1;
int max = arr[0];
for(int i=1; i<n; i+=) {
if(arr[i]>max){
answer++;
max = arr[i];
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n, i++) {
arr[i] = kb.nextInt();
}
System.out.print(T.solution(n,arr));
}
}
Q. A,B 두 사람이 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력한다. 비길 경우에는 D를 출력한다.
가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보 로 정한다.
Class Main {
public int solution(int n, int[] a, int[] b){
String answer="";
for(int i=0; i<n; i++) { //비기는 경우
if(a[i]==b[i]){
answer += "D";
} else if(a[i]==1 && b[i]==3) { //A가 이기는 3가지 경우
answer += "A";
} else if(a[i]==2 && b[i]==1) {
answer += "A";
} else if(a[i]==3 && b[i]==2) {
answer += "A";
} else { //그 외에는 모두 B가 이기는것으로 간주한다.
answer += "B";
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] a = new int[n];
int[] b = new int[n];
for(int i=0; i<n, i++) {
a[i] = kb.nextInt();
}
for(int i=0; i<n, i++) {
b[i] = kb.nextInt();
}
System.out.println(T.solution(n, a, b));
}
}