Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 계층화
- 프로토콜
- AWS CLF
- 남궁성
- 자바의 정석
- 역캡슐화
- 인프콘
- java
- 데이터 송수신
- 인터페이스
- l3 스위치
- 다형성
- 파이썬 1712
- 1764
- aws 자격증
- 10866
- modifiers
- 물리구성도
- 테슬라폰
- 유선LAN
- 네트워크
- 개발바닥
- TCP/IP
- 논리구성도
- 자바
- 상속
- 백준 2775
- network
- 백준 1712
- 파이썬
Archives
- Today
- Total
병훈's Blog
SWEA - 2068. 최대수 구하기 (Python, Java, C++) 본문
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QQhbqA4QDFAUq
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 10개의 수가 주어진다.
[출력]
출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
<Python>
for t in range(1, int(input())+1):
a = sorted(map(int, input().split()))
print(f'#{t} {a[-1]}')
배열의 입력과 동시에 sorted()로 오름차순 정렬하고
정렬된 배열의 마지막 값의 index가 -1인 것을 이용하여 출력함.
단, print(f ' ') 형식을 사용하여 출력 형식을 바꾸었다. f ' '를 사용하면 { }안에 변수를 넣을 수 있다.
문자와 변수를 같이 적을 수 있다.
<JAVA>
import java.util.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
ArrayList<Integer> a = new ArrayList();
for (int tmp = 10; tmp>0; tmp--) {
a.add(sc.nextInt());
}
Collections.sort(a);
//System.out.print('#');
//System.out.print(test_case);
//System.out.print(" ");
//System.out.println(a.get(a.size() - 1));
System.out.printf("#%d %d\n",test_case, a.get(a.size() - 1));
}
}
}
이전의 문제와 같이 배열을 생성하고, 반복문으로 값을 입력받아 저장하고(더 단순하게)
배열을 저장한 이후 마지막 값을 출력했다.
단, printf()를 사용하여 출력형식을 바꾸었다. " "안에 %d를 적고, 뒤에 , 콤마를 덧붙여 %d 에 들어갈 수를 설명함.
이것의 장점은 문자와 변수를 같이 적을 수 있다는 것이다.
<C++>
#include<iostream>
using namespace std;
int main(int argc, char** argv)
{
int test_case;
int T;
cin>>T;
for(test_case = 1; test_case <= T; ++test_case)
{
int answer = 0;
// 가장 큰 값이 들어오면 바꿔주는 방식
for(int i = 0; i<10; i++){
int tmp;
cin >> tmp;
if (tmp>answer) {
answer = tmp;
}
}
cout << '#' << test_case << " " << answer << '\n';
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
#include<iostream>
#include<algorithm>
using namespace std;
int main(int argc, char** argv)
{
int test_case;
int T;
cin>>T;
for(test_case = 1; test_case <= T; ++test_case)
{
int a[10];
// 배열을 정렬해주는 방식
for(int i = 0; i<10; i++){
cin >> a[i];
}
sort(a, a+10);
cout << '#' << test_case << " " << a[9] << '\n';
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
- 최대수를 구하는 문제이기에 정렬을 사용해서 푸는 방법 뿐만 아니라,
변수공간을 하나만 사용하며, 이전보다 더 큰 수가 들어오면 수를 바꿔주는 방법도 사용했다. - 변수공간을 하나만 사용하여 정렬을 하지 않았을 때가 더 빠르다.
- C++에서는 문자와 변수를 같이 출력하려고 할 때, <<를 여러번 사용하면 된다.
줄바꿈은 마지막에 '\n'를 추가하면 된다.
728x90
728x90
'Algorithm' 카테고리의 다른 글
SWEA - 1209. [S/W 문제해결 기본] 2일차 - Sum (Python, Java) (1) | 2023.01.01 |
---|---|
SWEA - 2071. 평균값 구하기 (Python, Java, C++) (0) | 2022.12.30 |
SWEA - 2063. 중간값 찾기 (Python, Java, C++) (0) | 2022.12.30 |
SWEA - 2058. 자릿수 더하기 (Python, Java, C++) (1) | 2022.12.30 |
SWEA - 1936. 1대1 가위바위보 (Python, Java, C++) (0) | 2022.12.30 |