알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43245/%EC%B5%9C%EB%8C%93%EA%B0%92/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

서로 다른 자유수가 주어질 때, 최댓값을 찾고 그 값이 몇 번째 인지 찾는 문제

반복문을 돌려주고 i값을 저장하고 또 큰 값을 저장해주면 될 것 같다.

큰 값은 if문을 이용해도 되고, Math.max를 사용해도 될 것 같다.


Solution✍
import java.io.*;

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		String[] list = br.readLine().split(" ");
		int[] listInt = new int[list.length];
		for(int i=0; i<listInt.length; i++){ listInt[i] = Integer.parseInt(list[i]);}
		
		int tmp = listInt[0];
		int map = 0;
		for(int i=1; i<listInt.length; i++){
			if(listInt[i] > tmp){
				tmp = listInt[i];
				map = i;
			}
		}
		
		System.out.printf("%d %d",tmp,map+1);
	}
}

Review🤩

쉬운 문제였다!

import java.io.*;

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		String[] list = br.readLine().split(" ");
		int[] listInt = new int[list.length];
		for(int i=0; i<listInt.length; i++){ listInt[i] = Integer.parseInt(list[i]);}
		
		int tmp = listInt[0];
		int map = 0;
		for(int i=1; i<listInt.length; i++){
			if(listInt[i] > tmp){ map = i; }
			tmp = Math.max(listInt[i],tmp);
		}
		
		System.out.printf("%d %d",tmp,map+1);
	}
}

이렇게도 풀 수 있지만 만약 같은 숫자 값이 나왔을때는 위에 코드가 더 좋아보인다.


 

'Algorithm' 카테고리의 다른 글

[구름] 홀수의 합  (0) 2021.12.26
[구름] 완전제곱수 (2레벨 , 3레벨)  (0) 2021.12.25
[구름] n 구하기  (0) 2021.12.25
[구름] Factorial  (0) 2021.12.25
[구름] 절대값  (0) 2021.12.25
알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43264/n-%EA%B5%AC%ED%95%98%EA%B8%B0/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

1 + 2 + ... + n 까지 더하면서 더한 값이 넘어설때 n의 값이 무엇인지


Solution✍
import java.io.*;
class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		
		int sum = 0;
		int i = 0;
		while(input > sum){
			i++;
			sum += i;
		}
		
		System.out.print(i);
	}
}

while문을 이용해서 간단하게 풀었다.

i++의 위치가 중요한데 처음에 i를 1이라두고 그 다음 마지막에 i++를 해두면

마지막에 한 바퀴 더 돌고 검사하기 때문에 조심해야 된다!


Review🤩

i++ 위치를 조심하자!


 

'Algorithm' 카테고리의 다른 글

[구름] 완전제곱수 (2레벨 , 3레벨)  (0) 2021.12.25
[구름] 최댓값  (0) 2021.12.25
[구름] Factorial  (0) 2021.12.25
[구름] 절대값  (0) 2021.12.25
[구름] 약수의 합  (0) 2021.12.25
알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43192/factorial-%EA%B3%84%EC%8A%B9/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

반복문을 이용해서 누적해서 곱해주면 될 것 같다.

일부 테스트 케이스를 통과하지 못했다.

15는 아마 long타입으로 바꿔서 풀어야 될 것 같다.


Solution✍
import java.io.*;
class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		
		long sum = 1;
		for(int i=1; i<=input; i++){
			sum *= i;
		}
		
		System.out.print(sum);
	}
}
import java.io.*;
class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Long input = Long.parseLong(br.readLine());
		
		System.out.print(factorial(input));
	}
	
	public static Long factorial(Long n){
		if(n <= 1){
			return n;
		}else
			return factorial(n-1) * n;
		
	}
}

Review🤩

static 메서드를 이용해서도 풀어보았다

void는 return이 없는데 자꾸 리턴이 왜 안되나 하고 있었다. 그리고 Long타입으로 변환해서 출력!


 

'Algorithm' 카테고리의 다른 글

[구름] 최댓값  (0) 2021.12.25
[구름] n 구하기  (0) 2021.12.25
[구름] 절대값  (0) 2021.12.25
[구름] 약수의 합  (0) 2021.12.25
[구름] 소수 판별  (0) 2021.12.25
알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43117/%EC%A0%88%EB%8C%80%EA%B0%92/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

음 Math를 사용안하고 쓰는 방법? 또 뭐가 있을까

만약 마이너스 이면 부호를 없애주기 위해서 자기 자신을 두번 더한다.

또는 마이너스값을 다시 넣어준다.


Solution✍
import java.io.*;

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		
		if(input < 0){
			input = -input;
		}
		
		System.out.print(input);
	}
}
import java.io.*;

class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		
		System.out.print(Math.abs(input));
	}
}

Review🤩

Math는 기본 제공 클래스 스태틱 클래스 이므로 생성 안해도 됨.


 

'Algorithm' 카테고리의 다른 글

[구름] n 구하기  (0) 2021.12.25
[구름] Factorial  (0) 2021.12.25
[구름] 약수의 합  (0) 2021.12.25
[구름] 소수 판별  (0) 2021.12.25
[구름] Substring  (0) 2021.12.25
알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43232/%EC%95%BD%EC%88%98%EC%9D%98-%ED%95%A9/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

반복문을 돌리면서 약수가 맞으면 누적해서 더해준다

Scanner로 바꿔서 풀어본다.


Solution✍
import java.io.*;

class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		
		int sum = 0;
		for(int i=1; i<=input; i++){
			if(input % i == 0){
				sum += i;
			}
		}
		System.out.print(sum);
	}
}
import java.io.*;
import java.util.Scanner;

class Main {
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int param = sc.nextInt();
		
		int sum = 0;
		for(int i=1; i<=param; i++){
			if(param % i == 0){
				sum += i;
			}
		}
		System.out.print(sum);
	}
}

Review🤩

딱히 어려운 점 없었다.


 

'Algorithm' 카테고리의 다른 글

[구름] Factorial  (0) 2021.12.25
[구름] 절대값  (0) 2021.12.25
[구름] 소수 판별  (0) 2021.12.25
[구름] Substring  (0) 2021.12.25
[구름] Bubble Sort  (0) 2021.12.25
알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://level.goorm.io/exam/43238/%EC%86%8C%EC%88%98-%ED%8C%90%EB%B3%84/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io


Think🤔

소수를 판별하는 알고리즘을 구현하라고 한다.

자기와 숫자 1 이외에 다른 값으로 나눠 떨어지지 않으면 소수이다.

 


Solution✍
import java.io.*;
class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		String answer = "True"; // 기본값을 True로 설정해준다.
		for(int i=2; i<input; i++){ // 1과 자기자신은 검증할 필요가 없기 때문에 2부터 시작 자기자신 값 전까지
			if(input % i == 0){ // 1과 자기자신 이외에 나눠 떨어지면 False 소수가 아니다.
				answer = "False";
				break;
			}
		}
		System.out.print(answer);
		br.close();
	}
}

다른 좋은 코드는 없나 확인해보았다.

break;를 잊고 있었다. close도 잊고 있었고...

 

마지막 부분을 삼항 연산자로 바꿔서 출력 해도 될 것이다.

import java.io.*;
class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int input = Integer.parseInt(br.readLine());
		boolean answer = true; // 기본값을 True로 설정해준다.
		for(int i=2; i<input; i++){ // 1과 자기자신은 검증할 필요가 없기 때문에 2부터 시작 자기자신 값 전까지
			if(input % i == 0){ // 1과 자기자신 이외에 나눠 떨어지면 False 소수가 아니다.
				answer = false;
				break;
			}
		}
		System.out.print(answer == true ? "True" : "False");
		br.close();
	}
}

Review🤩

삼항 연산자, answer 그리고 close와 break를 잊지 말자


 

'Algorithm' 카테고리의 다른 글

[구름] 절대값  (0) 2021.12.25
[구름] 약수의 합  (0) 2021.12.25
[구름] Substring  (0) 2021.12.25
[구름] Bubble Sort  (0) 2021.12.25
[구름] 369 게임  (0) 2021.12.25

+ Recent posts