알고리즘 풀이 방법입니다.
문제(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

+ Recent posts