[백준] 10998번,1008번, 10869번, 10926번, 18108번, 10430번, 2588번, 25083번 (Java)

vector13·2022년 6월 20일
0

백준

목록 보기
4/15

변명변명,,, 주절주절 ,,, 졸업프로젝트 발표 때문에 바빴다가 ... 이제쓰는 코테 메모

9일치 밀렸으니 9문제 이상 풀겠습니다.. ㅎㅎ


1. 10998번 AxB

import java.util.Scanner;
public class Main{
    public static void main(String args[]) {
         Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a*b);
    }
}

2. 1008번 A/B

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답인 문제인데,
예제 출력과 꼭 똑같이 출력할 필요는 없고 조건에 맞는 답을 출력하면 된다고 한다.

import java.util.Scanner;
public class Main{
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a/b);
    }
}

를 했더니 당연히 틀렸다고 나왔고 😑

소수점 아래 9자리 이상 표현할 수 있는 실수형(double)으로 수정

import java.util.Scanner;
public class Main{
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        double a = sc.nextInt();
        double b = sc.nextInt();
        System.out.println(a/b);
    }
}

3. 10869번 사칙연산

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);        
        System.out.println(a/b);
        System.out.println(a%b);
    }
}

4. 10926번 ??!

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        String id1 = "joonas";
        String id2 = "baekjoon";
        Scanner sc = new Scanner(System.in);
        String id = sc.next();
        if(id == id1 || id == id2 ){
            System.out.println(id+"??!");
        }
    }
}

은 역시 틀렸고
"첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다." 라는 입력 조건이 내가 생각한 거랑 다른 조건인가보다. 내가 넘 복잡하게 생각함!!

그냥 단순하게 준하가 가입하려는 건 이미 존재하는 아이디만 볼 것

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        String id = sc.next();
        System.out.println(id+"??!");
        
    }
}

5. 18108번 1998년생인 내가 태국에서는 2541년생?!

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int dif = 2541-1998;
        int year = sc.nextInt(); //1000 ≤ y ≤ 3000
        System.out.println(year-dif);
    }
}

6. 10430번 나머지

(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?

(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?

세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        // (2 ≤ A, B, C ≤ 10000)
        int A = sc.nextInt(); 
        int B = sc.nextInt();
        int C = sc.nextInt();
        System.out.println( (A+B)%C );        
        System.out.println( ((A%C)+(B%C))%C );
        System.out.println( (A×B)%C );
        System.out.println( ((A%C)×(B%C))%C );
    }
}

했더니 컴파일 에러가 났다.
문제 그대로 복사하다보니 × 도 *로 바꾸지 않았고 괄호 처리도 엉망이네

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        // (2 ≤ A, B, C ≤ 10000)
        int A = sc.nextInt(); 
        int B = sc.nextInt();
        int C = sc.nextInt();
        System.out.println((A+B)%C);        
        System.out.println((A%C + B%C)%C);
        System.out.println((A*B)%C);
        System.out.println((A%C * B%C)%C);
    }
}

로 했더니 정답 처리

7. 2588번 곱셈

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc. nextInt();
        int c = (b%100)%10;
        System.out.println(a*c);
        int d = (b%100)-c;
        System.out.println(a*d);
        int e = b - d*10 -c;
        System.out.println(a*e);
        System.out.println(a*c + 10*a*d + 100*a*e);
        
    }
}

했더니 틀렸다.

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc. nextInt();
        int c = b%10;
        System.out.println(a*c);
        int d = (b%10)/10;
        System.out.println(a*d);
        int e = b/100;
        System.out.println(a*e);
        System.out.println(a*c + 10*a*d + 100*a*e);
        
    }
}

로 해도 틀렸다.

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc. nextInt();
        int c = b%10;
        System.out.println(a*c);
        int d = (b%100)/10;
        System.out.println(a*d);
        int e = b/100;
        System.out.println(a*e);
        System.out.println(a*b);
        
    }
}

로 정답을 얻어냈다.

8. 25083번 새싹

escape 표현을 잘 유의해서 \ 를 써주자

public class Main{
    public static void main(String args[]){
        System.out.println("         ,r\'\"7");
        System.out.println("r\`-_   ,\'  ,/");
        System.out.println(" \\. \". L_r\'");
        System.out.println("   \`~\\/");
        System.out.println("      |");
        System.out.println("      |");


    }
}

` 앞에는 \ 필요없나보다.

public class Main{
    public static void main(String args[]){
        System.out.println("         ,r\'\"7");
        System.out.println("r`-_   ,\'  ,/");
        System.out.println(" \\. \". L_r\'");
        System.out.println("   `~\\/");
        System.out.println("      |");
        System.out.println("      |");



    }
}

🦊🦒드디어 1단계 완료 !! 🦊🦒

9.

10.

profile
HelloWorld! 같은 실수를 반복하지 말기위해 적어두자..

0개의 댓글