관리 메뉴

JumpUp

[JAVA] codeUp 기초100제 본문

알고리즘

[JAVA] codeUp 기초100제

yeunnnn 2021. 2. 24. 20:41

1014번

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class CodeUp100_N1014 {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

        String c = bf.readLine();
        StringTokenizer st = new StringTokenizer(c);
        bf.close();

        String x = st.nextToken();
        String y = st.nextToken();
        System.out.println(y+" "+x);


    }
}

 

BufferedReader은 Scanner(공백과 Enter를 경계로 인식)와 다르게 Enter만 경계로 인식하고 받은 데이터가 String으로 고정된다. 그래서 readLine()메서드를 사용하면 된다. 데이터 가공할 때는 StringTokenizer(입력문자열, 분리문자)또는 StringTokenizer(입력문자열)을 이용해준다.

가공된 문자열들은 nextToken()메서드로 분리문자 단위 또는 공백 단위로 구분해 순서대로 호출할 수 있다.

 

1025번

import java.util.Scanner;

public class CodeUp100_N1025 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String var = sc.nextLine();
        sc.close();

        for(int i=0;i<var.length();i++){
            System.out.println("["+(var.charAt(i)-'0')*(int)Math.pow(10,(var.length()-1-i))+"]");
        }
    }
}

 

1. String -> Char 형변환

   var.charAt(i)

2. Char -> Int 형변환

  var.charAt(i)-'0'

 

1031번

import java.util.Scanner;

public class CodeUp100_N1031 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        sc.close();

        String octal = Integer.toOctalString(a);

        System.out.println(octal);
    }
}

 

Integer.toOctalString(정수) // 10진수 -> 8진수(Octal) 변환 메소드

Integer.toHexString(정수)  // 10진수 -> 16진수(HexaDecimal) 변환 메소드

 

1034번

import java.util.Scanner;

public class CodeUp100_N1034 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String octal = sc.nextLine();
        sc.close();

        int ans = Integer.parseInt(octal,8);
        System.out.println(ans);
    }
}

 

Integer.parseInt(문자열, 진수)  //몇 진수로 이뤄진 문자열을 정수로 반환한다.

int ans = Integer.parseInt(octal, 8) // 8진수로 이뤄진 문자열을 정수로 반환한다.

 

1035번

import java.util.Scanner;

public class CodeUp100_N1035 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String a = sc.nextLine();
        sc.close();

        int hex = Integer.parseInt(a,16);  //문자열 -> 16진수
        String octal = Integer.toOctalString(hex); // hex -> 8진수
        System.out.println(octal);
    }
}

 

1036번

import java.util.Scanner;

public class CodeUp100_N1036 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char a = sc.next().charAt(0);
        sc.close();

        System.out.println((int)a); //문자 -> 아스키코드의 10진수로 변환
    }
}

 

1064번

import java.util.Scanner;

public class CodeUp100_N1064 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        sc.close();

        System.out.println((a<b?a:b)<c?(a<b?a:b):c);
    }
}

 

3가지 정수 중 가장 작은 정수를 찾기 위해, 조건연산자를 중첩하여 사용했다.

(a<b?a:b)<c ? (a<b?a:b) : c 

(a또는 b)가 c보다 작다면 ? (a또는 b를 비교해 작은 것을 찾는다) : c가 가장 작다

728x90