지-코바

[지코바] 9회차 문제풀이

moonseok 2022. 7. 21. 22:51

1.지윤님 문제 - 스택

package jicoba_2;

import java.util.Scanner;

public class stack {
	public static int[] stack ;
	public static int size = 0;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		StringBuilder sb = new StringBuilder();
		int N = sc.nextInt();
		
		stack = new int[N];
		
		for(int i = 0; i < N; i++) {
			String str = sc.next();
			
			switch (str) {
			case "push": 
				push(sc.nextInt());
				break;
			
			case "pop": 
				sb.append(pop()).append('\n');
				break;
			
			case "size": 
				sb.append(size()).append('\n');
				break;
			
			case "empty": 
				sb.append(empty()).append('\n');
				break;
			
			case "top": 
				sb.append(top()).append('\n');
				break;
			
			
			}
			
		}
		System.out.println(sb);
	}
	
	public static void push(int integer) {
		stack[size] = integer;
		size++;
	}
	
	public static int pop() {
		if(size == 0) {
			return -1;
		}else {
			int result = stack[size - 1];
			stack[size - 1] = 0;
			size--;
			return result;
		}
	}
	
	public static int size() {
		return size;
	}
	
	public static int empty() {
		if(size == 0) {
			return 1;
		}else {
			return 0;
		}
	}
	
	public static int top() {
		if(size == 0) {
			return -1;
		}else {
			return stack[size-1];
		}
	}

}

 

2.상수님 문제 - 2xn타일링 2

package jicoba_2;

import java.util.Scanner;

public class tiling2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		int[] tilingList = new int[n+2];
		tilingList[1] = 1;
		tilingList[2] = 3;
		
		for(int i = 3; i <= n; i ++) {
			tilingList[i] = (tilingList[i-1] + 2 * tilingList[i-2]) % 10007 ;
		}
		
		System.out.println(tilingList[n] % 10007);

	}

}

 

3. 내 문제 - 좌표 정렬하기

package jicoba_2;

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class sort {

	public static void main(String[] args)  {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		StringBuilder sb = new StringBuilder();
		
		int[][] coordinate = new int[N][2];
		
		for(int i = 0 ; i < N; i ++) {
			for(int j = 0; j < 2; j++) {
				coordinate[i][j] = sc.nextInt();
			}
		}
		
		Arrays.sort(coordinate, new Comparator<int[]>(){
			@Override
			public int compare(int[] c1, int []c2) {
				if(c1[0] == c2[0]) {
					return c1[1] - c2[1];
				}else {
					return c1[0] - c2[0];
				}
			}
		});
		
		for(int i = 0; i < N; i++) {
			sb.append(coordinate[i][0] + " " + coordinate[i][1]).append("\n");
		}
		System.out.println(sb);
	}

}