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