반응형

https://www.acmicpc.net/problem/2941

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      String str = sc.nextLine();
      
      str = str.replace("dz=","a");
      str = str.replace("lj","a");
      str = str.replace("nj","a");
      str = str.replace("s=","a");
      str = str.replace("z=","a");
      str = str.replace("c=","a");
      str = str.replace("c-","a");
      str = str.replace("d-","a");
      System.out.println(str.length());
    }
}

저 문자조합을 그냥 하나의 문자로 치면 되는 거라..

제일 긴 문자 조합인 dz=부터 대충 a로 바꿔주고 길이를 세었음..

처음 시도했을때는 문자열을 맨 처음 인덱스부터 검사하면서 경우의 수를 나눠서 세는 방법으로 짰었는데,,,

원하는 결과는 제대로 나왔었는데 채점에서 틀렸다고 나와서... ㅠ.ㅠ

좀 쉬다가 하니까 이렇게 쉬운 방법이 보임...

반응형

'코딩 관련 > 코딩문제풀기' 카테고리의 다른 글

[JAVA] 9012번 괄호  (0) 2023.03.13
[JAVA] 너의 평점은  (0) 2023.03.12
[JAVA] 그룹 단어 체커  (0) 2023.03.12
[JAVA] 직사각형에서 탈출  (0) 2023.03.09
[JAVA] 4344번 평균은 넘겠지 문제  (0) 2023.03.09
반응형

https://www.acmicpc.net/problem/1085

import java.util.Scanner;
public class Main {
    public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        int h=0;
        int w=0;
        int x=0;
        int y=0;
        while(scanner.hasNextInt()){
        x = scanner.nextInt();
        y = scanner.nextInt();
        w = scanner.nextInt();
        h = scanner.nextInt();
        }
        int m1 = Math.min(h-y,y);
        int m2 = Math.min(w-x,x);
    

      System.out.println(Math.min(m1,m2));
    }
}

 

* 학습내용

1. 두 수 중에 최소값 구하기

Math.min(X,Y)

Math 자체를 너무 오랜만에 써봄...

 

2. 입력받기

Scanner sc = new Scanner(System.in);

정수 입력받기 : sc.nextInt();

문자열 입력받기 : sc.nextLine();

입력도 받아볼 일이 없어서 써본 기억이 가물가물...

반응형

'코딩 관련 > 코딩문제풀기' 카테고리의 다른 글

[JAVA] 9012번 괄호  (0) 2023.03.13
[JAVA] 너의 평점은  (0) 2023.03.12
[JAVA] 그룹 단어 체커  (0) 2023.03.12
[JAVA] 크로아티아 알파벳  (0) 2023.03.11
[JAVA] 4344번 평균은 넘겠지 문제  (0) 2023.03.09
반응형

https://www.acmicpc.net/problem/4344

import java.util.Scanner;

public class MyClass {
    public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      int testcase = sc.nextInt();  //케이스 수
      for(int i=1;i<=testcase;i++){
          int students = sc.nextInt();
          int[] student = new int[students];
          int sum=0;
          for(int s=0;s<students;s++){
              student[s] = sc.nextInt();
              
              sum+= student[s];
          }
          float avg= sum/students;
         
          int over=0;
          for(int s=0;s<students;s++){
              if(student[s]>avg){
                  over +=1;
              }
          }
            float percent = (float)over/(float)students * 100;
          System.out.printf("%.3f",percent);
          System.out.print("%\n");
      }
    }
}

 

* 학습내용

1.  float : 소수점 7자리까지 표현

double : 소수점 16자리까지 표현

자바에서 실수 연산은 기본적으로 double타입.

 

2. 소수점 자리수 컨트롤 : %.3f

포맷스트링 사용하여 출력 : printf 

현업에서 쓴지 오래되어 잊고 있던 표현방식..

 

3. 변수명을 case로 했었는데

not a statement 에러가 떴다.

case는 자바 예약어이므로 사용하지 말 것.

 

반응형

'코딩 관련 > 코딩문제풀기' 카테고리의 다른 글

[JAVA] 9012번 괄호  (0) 2023.03.13
[JAVA] 너의 평점은  (0) 2023.03.12
[JAVA] 그룹 단어 체커  (0) 2023.03.12
[JAVA] 크로아티아 알파벳  (0) 2023.03.11
[JAVA] 직사각형에서 탈출  (0) 2023.03.09

+ Recent posts