카카오x구름 풀스택/코딩 테스트
[JAVA] 유효성 검사(1), (2) / 시간 복잡도
꾸주니=^=
2024. 11. 28. 11:26
유효성 검사 (1)
작성한 코드
import java.io.*;
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 = sc.nextInt();
int max = Math.max(a, Math.max(b, c)); // 2개 중에서 가장 큰 수를 찾아준다.
//조건을 10개, 20개 사용해서라도 찾을 수 있다.(이 방법은 좋지 x)
// if (a>b){
// if(a>c){}}
// if(a+b>c && a+c>b && b+c>a){
// System.out.println("YES");
// }
// else{
// System.out.println("NO");
// }
//아래처럼 코드 세우기
int sums = a + b + c - max;
if (sums > max){
System.out.println("YES");
}
else{
System.out.println("NO");
}
sc.close();
}
}
유효성 검사 (2)
작성한 코드
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextLong();
long b = sc.nextLong();
long c = sc.nextLong();
long max = Math.max(a, Math.max(b, c)); // 2개 중에서 가장 큰 수를 찾아준다.
long sums = a + b + c - max;
if (sums > max){
System.out.println("YES");
}
else{
System.out.println("NO");
}
sc.close();
}
}
패리티 비트는 과제.
시간 복잡도
0이 생기는 규칙을 찾으면 된다.
/*
요구 사항과 해야할 일을 이해했나요?
5의 개수를 찾는 일이다.
어떤 수에 포함된 5의 개수를 찾는 일은 소수인분해라는 방법을 사용합니다.
진짜 수학
수학 중학교 수학까지는 알고 있어야 한다.
중학교 3개년 수학 개념 모음집?
소인수분해 어떻게 하느냐?
소수로 나누어서 분리하는 개념
어떤 수를 24를 2^3 * 3^ 1 이런식으로 표현하는게 소인수분해
일과 나 자신으로 나누어지는 수
대표적으로 2, 3, 5, 7, 11, 13가 있습니다. (소수 찾기 알고리즘도 있어요.)
어떤 수를 5로 나누어지는 횟수가 5를 가지고 있는 개수이다.
125가 있어요
5 * 5 * 5입니다.
125는 5로 3번 나누어집니다.
125 > 25 > 5 > 1
그 원리를 사용해서 풀이할겁니다.
*/
작성한 코드
import java.io.*;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count_five = 0;
while (N > 0) {
count_five += N / 5; // 현재 N에서 5로 나누어 떨어지는 몫을 카운트에 추가
N /= 5; // N을 5로 나누어 다음 단계로 줄이기
}
System.out.println(count_five);
sc.close();
}
}
내가 풀어본 코테 문제들을 다시 풀어보고 개선해보고 하자!
기록도 하자!