반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1277 : 몇 번째 데이터 출력하기 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
입력으로 N이 주어지고 그 다음줄에 N개의 데이터가 공백으로 구분되어 입력된다.(단, N>=1인 홀수)
출력
첫번째, 중간, 마지막 데이터 값을 출력한다.
예시
- 입력 :
7
2 4 7 3 1 2 5 - 출력 : 2 3 5
Solution (풀이)
- 풀이 1 : 메모리 11216, 시간 64
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int count = 0;
Map<Object, Object> map = new HashMap<Object, Object>();
// 첫줄에 입력받은 숫자만큼 for문 반복
for (int i=1; i<=n; i++) {
// 몇개인지 새어준다.
count++;
// 선언해 놓은 map에 입력 받을 때 마다 넣어준다.
map.put(i, st.nextToken());
}
StringBuilder sb = new StringBuilder();
// map에서 꺼내어 append해준다. (홀수임으로 +1해주어야 한다.)
sb.append(map.get(1)+" ").append(map.get(count/2+1)+" ").append(map.get(count));
System.out.println(sb);
br.close();
}
}
- 풀이 2 : 메모리 11148, 시간 87
public class Answer2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 몇개를 입력받을지 받지만 쓰이지 않는다.
br.readLine();
// 공백을 기준으로 split() 메소드를 이용하여 배열 형태로 만들어 준다.
String[] numbers = br.readLine().split(" ");
// 배열의 길이를 찾아서 선언해준다.
int length = numbers.length;
StringBuilder sb = new StringBuilder();
// 배열에서 각 자리에 맞게 꺼내어 append해준다.
sb.append(numbers[0]+" ").append(numbers[length/2]+" ").append(numbers[length-1]);
System.out.println(sb);
br.close();
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1279 : 홀수는 더하고 짝수는 빼고 1 (0) | 2022.06.29 |
---|---|
[CodeUp_Java] Q1278 : 자릿수 계산 (0) | 2022.06.28 |
[CodeUp_Java] Q1276 : 팩토리얼 계산 (0) | 2022.06.28 |
[CodeUp_Java] Q1275 : k 제곱 구하기 (0) | 2022.06.28 |
[CodeUp_Java] Q1274 : 소수 판별 (0) | 2022.06.28 |