728x90

 

문제 : 25083번: 새싹 (acmicpc.net)

 

25083번: 새싹

아래 예제와 같이 새싹을 출력하시오.

www.acmicpc.net

 

이스케이프 코드를 쓰는게 핵심인 문제

명령어로 읽히는 기호들을 문자열 자체도 찍힐 수 있게 \를 사용하여

문자열이 출력될 수 있게 해준다

// 포인트 : 이스케이프 코드
// 해당 문자를 문자열로 출력 해주는 코드 : \
System.out.println("         ,r'\"7");
System.out.println("r`-_   ,'  ,/");
System.out.println(" \\. \". L_r'");
System.out.println("   `~\\/");
System.out.println("      |");
System.out.println("      |");
728x90
반응형
728x90

 

문제 : 9498번: 시험 성적 (acmicpc.net)

 

9498번: 시험 성적

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

풀이

스캐너 혹은 버퍼드리더로 숫자를 받는다
(버퍼드는 str만 받으므로 int로 형변환해야함. 또한 import문 넣을 때도 IOException도 같이 넣어줘야 컴파일 에러 안남)
각 점수대 별로 if문으로 점수 분배

 

정답


import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int score = Integer.parseInt(br.readLine());


        if(score >= 90){
            System.out.println("A");
        }else if(score >= 80){
            System.out.println("B");
        }else if(score >= 70){
            System.out.println("C");
        }else if(score >= 60){
            System.out.println("D");
        }else{
            System.out.println("F");
        }
    }
}

 

728x90
반응형
728x90

문제 : 10172번: 개 (acmicpc.net)

 

10172번: 개

문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...

www.acmicpc.net

 

 

 

이스케이프 코드를 쓰는게 핵심인 문제

명령어로 읽히는 기호들을 문자열 자체도 찍힐 수 있게 \를 사용하여

문자열이 출력될 수 있게 해준다

 

// 포인트 : 이스케이프 코드
// 해당 문자를 문자열로 출력 해주는 코드 : \
System.out.println("|\\_/|");
System.out.println("|q p|   /}");
System.out.println("( 0 )\"\"\"\\");
System.out.println("|\"^\"`    |");
System.out.println("||_/=\\\\__|");

 

 

728x90
반응형
728x90

 

문제 : 10171번: 고양이 (acmicpc.net)

 

10171번: 고양이

아래 예제와 같이 고양이를 출력하시오.

www.acmicpc.net

 

 

이스케이프 코드를 쓰는게 핵심인 문제

명령어로 읽히는 기호들을 문자열 자체도 찍힐 수 있게 \를 사용하여

문자열이 출력될 수 있게 해준다

 

// 포인트 : 이스케이프 코드
// 해당 문자를 문자열로 출력 해주는 코드 : \
System.out.println("\\    /\\");
System.out.println(" )  ( ')");
System.out.println("(  /  )");
System.out.println(" \\(__)|");
728x90
반응형
728x90

 

값을 하나씩 받아서

그냥 println()에 식을 넣어주었다. 별다른 어려운게 없이

println에 출력 쪽 데이터를 보고 적으면 된다

 

정답

import java.util.*;

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 = 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);

    }
728x90
반응형
728x90

 

문제 : 10430번: 나머지 (acmicpc.net)

 

10430번: 나머지

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

www.acmicpc.net

 

 

 

a,b,c 각 변수에 스캐너로 값을 받고

문제대로 println에 식만 넣으면 되는 간단한 문제!

 

import java.util.*;

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 = 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);
        
    }
}
728x90
반응형
728x90

 

 

Step1-8 10926번 ??!

문자열을 받으므로 스캐너로 받은 데이터를 받을 데이터의 타입은 str이여야 하기에 String타입으로 지정하고

스캐너에서도 str을 받아야하기 때문에 next() 메소드 사용

줄바꿈 해야되면 nextLine()을 사용하면 된다

 

    // Step1-8 10926번 ??!
    public void method06(){

        String name = null;

        Scanner sc = new Scanner(System.in);
        name = sc.next();

        System.out.print(name+"??!");


    }

 

 

Step1-9 18108번 1998년생인 내가 태국에서는 2541년생?!

불기(불교력) : 서기(국제표준) + 544

불기랑 서기 계산법이 위와 같으므로 스캐너로 받은 숫자에서 544(543)을 더하거나 빼주면 된다

    // Step1-9 18108번 1998년생인 내가 태국에서는 2541년생?!
    public void method07(){

        int year = 0;

        Scanner sc = new Scanner(System.in);
        year = sc.nextInt();

        System.out.printf("%d",year-543);


    }

 

 

 

import java.util.*;


public class Step1{

    // Step1-3 A+B
    public void method01(){

        int a=0;
        int b=0;
        Scanner sc = new Scanner(System.in);
        a=sc.nextInt();
        b=sc.nextInt();
        System.out.println(a+b);
    }

    // Step1-4 1001번 A-B
    public void method02(){
        // import java.util.*;
        int a = 0;
        int b = 0;

        Scanner sc = new Scanner(System.in);
        a = sc.nextInt();
        b = sc.nextInt();

        System.out.println(a-b);

    }

    // Step1-5 10998번 A*B
    public void method03(){
        // import java.util.*;
        int a = 0;
        int b = 0;

        Scanner sc = new Scanner(System.in);
        a = sc.nextInt();
        b = sc.nextInt();

        System.out.println(a*b);

    }

    // Step1-6 1008번 A/B
    public void method04(){
//        import java.util.*;

        double a = 0;
        double b = 0;

        Scanner sc = new Scanner(System.in);

        a = sc.nextDouble();
        b = sc.nextDouble();

        System.out.printf("%.10f",a/b);
//        System.out.printf("%.9f",a/b); 이것도 .11f도 정답. 8이하로는 오답.
        // double로 안하고 float로하면 소수점 아래 계산에서 오차가 생겨서 문제가 오답처리됨


//        float aa = 0.11111f;
//
//        System.out.printf("%.2f",aa);

    }

    // Step1-7 10869번 사칙연산
    public void method05(){

//        import java.util.*;
//        public class Main {
//        public static void main(String[] args) {

        int a = 0;
        int b = 0;

        Scanner sc = new Scanner(System.in);
        a = sc.nextInt();
        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);


    }

    // Step1-8 10926번 ??!
    public void method06(){

        String name = null;

        Scanner sc = new Scanner(System.in);
        name = sc.next();

        System.out.print(name+"??!");


    }

    // Step1-9 18108번 1998년생인 내가 태국에서는 2541년생?!
    public void method07(){

        int year = 0;

        Scanner sc = new Scanner(System.in);
        year = sc.nextInt();

        System.out.printf("%d",year-543);


    }
728x90
반응형
728x90

 

공차란?

숫자들 사이에서 일정한 숫자의 차가 존재하는 것

ex) 1 3 5 7 9

각 숫자들 사이의 차가 2이며 이 2가 공차이다

 

 

	public void test(){
//		사용자로부터 시작 숫자와 공차를 입력 받아
//		일정한 값으로 숫자가 커지거나 작아지는 프로그램을 구현하세요.
//		단, 출력되는 숫자는 총 10개입니다 ( 공차 : 숫자들 사이에서 일정한 숫자의 차가 존재하는 것)
		
		System.out.print("시작 숫자 : ");
		int snum = sc.nextInt();
		System.out.print("공차 : ");
		int gnum = sc.nextInt();
		
		int j = snum;				// for문 안에서 돌면서 증가할 수의 변수 
		for(int i=0; i<10; i++) {	// 총 0~9 i가 10번 반복
			System.out.print(j+" ");
			j += gnum;
		}

 

728x90
반응형
728x90

 

 

 

 

 

 

	public void practice9(){
		
		// 중간고사, 기말고사, 과제점수, 출석회수를 입력하고 Pass 또는 Fail을 출력하세요.
		// 평가 비율은 중간고사 20%, 기말고사 30%, 과제 30%, 출석 20%로 이루어져 있고
		// 이 때, 출석 비율은 출석 회수의 총 강의 회수 20회 중에서 출석한 날만 따진 값으로 계산하세요.
		// 70점 이상일 경우 Pass, 70점 미만이거나 전체 강의에 30% 이상 결석 시 Fail을 출력하세요.

		System.out.print("중간 고사 점수 : ");
		int midterm = sc.nextInt();
		System.out.print("기말 고사 점수 : ");
		int finals = sc.nextInt();
		System.out.print("과제 점수 : ");
		int score = sc.nextInt();
		System.out.print("출석 회수 : ");
		int attendance = sc.nextInt();
		
		double mid_proportion = midterm*0.2;	// 20%를 치환하면 *0.2
		double finals_proportion = finals*0.3;
		double score_proportion = score*0.3;
		double attendance_proportion = (100/20)*attendance*0.2;
		double sum = mid_proportion+finals_proportion+score_proportion+attendance_proportion;
		
//		100/20*attendance <= 0.7 ?
		
		System.out.println("================= 결과 =================");

		
		if(sum>=70) {
			System.out.printf("중간 고사 점수(20) : %.1f%n",mid_proportion);
			System.out.printf("기말 고사 점수(30) : %.1f%n",finals_proportion);
			System.out.printf("과제 점수            (30) : %.1f%n",score_proportion);
			System.out.printf("출석 점수            (20) : %.1f%n",attendance_proportion);
			System.out.printf("총점 : %.1f%n",sum);
			System.out.println("PASS");
		}else if (attendance*(100/20) <= 70 ) { // 비율 계산의 0.7이 아닌 출  
			System.out.printf("Fail [출석 회수 부족 (%d/20)]",attendance);
		}else if (sum<70) {
			System.out.printf("중간 고사 점수(20) : %.1f%n",mid_proportion);
			System.out.printf("기말 고사 점수(30) : %.1f%n",finals_proportion);
			System.out.printf("과제 점수            (30) : %.1f%n",score_proportion);
			System.out.printf("출석 점수            (20) : %.1f%n",attendance_proportion);
			System.out.printf("총점 : %.1f%n",sum);
			System.out.println("Fail [점수 미달]");
		}
	}
728x90
반응형
728x90

문제

 

답을 원하시는 분은 맨 아래로!

<풀이과정>

 

 

728x90
반응형

+ Recent posts