Python
n = int(input())
num = list(map(int, input().split(" ")))
print(min(num), max(num))
파이썬의 내장함수 min(), max()를 이용하면 최댓값, 최솟값을 간편하게 구할 수 있다.
C++
#include <iostream>
using namespace std;
int main(void) {
int n, num;
int min = 1000001, max = -1000001;
cin >> n;
for(int i = 0 ; i < n ; i++){
cin >> num;
if(num>max)
max = num;
if(num<min)
min = num;
}
cout<<min<<" "<<max<<endl;
}
처음엔 min, max값을 0으로 초기화했다가 실제 min이 0보다 큰 수 인경우, 실제 max가 0보다 작은 경우가 있음을 깨닫고 위와 같이 수정하였다.
Python
max = 0
n = 0
for i in range(9):
num = int(input())
if max < num:
max = num
n = i + 1
print(max, n, sep = "\n")
C++
#include <iostream>
using namespace std;
int main(void) {
int num, n = 0;
int max = 0;
for(int i = 0 ; i < 9 ; i++){
cin >> num;
if(num > max)
{
max = num;
n = i + 1;
}
}
cout << max << endl << n;
}
몇번째 줄인지 셀 때 n += 1; 이런식으로 카운트를 올려주면서 구하려고 하면 못구한다! for문의 i를 이용하자.
Python
a = int(input())
b = int(input())
c = int(input())
num = str(a*b*c)
for i in range(10):
print(num.count(str(i)))
str()로 형 변환을 해주고 count함수를 사용하여 num에서 i에 해당하는 수가 몇번 있는지 세어준다.
C++
#include <iostream>
using namespace std;
int main(void) {
int arr[10] = {0, };
int a, b, c;
int num;
cin >> a >> b >> c;
num = a * b * c;
while (num != 0)
{
arr[num % 10]++;
num /= 10;
}
for(int i = 0 ; i < 10 ; i++){
cout << arr[i] << endl;
}
return (0);
}
num을 10으로 나눈 나머지로 끝자리 수를 구하고 이를 인덱스로 활용하여 카운트 해주는 아이디어.. 기억하자.
Python
n = int(input())
for i in range(n):
str = input()
cnt = 0
sum = 0
for j in str:
if j == 'O':
cnt += 1
sum += cnt
else:
cnt = 0
print(sum)
C++
#include <iostream>
using namespace std;
int main(void) {
int n;
string s;
cin >> n;
while (n--)
{
cin >> s;
int cnt = 0, sum = 0;
for (int i = 0; i < s.length(); i++)
{
if (s[i] == 'O')
{
cnt++;
sum += cnt;
}
else
cnt = 0;
}
cout << sum << endl;
}
return (0);
}
Python
n = int(input())
for i in range(n):
score = list(map(int, input().split()))
avg = sum(score[1:]) / score[0]
cnt = 0
for j in score[1:]:
if (avg < j):
cnt += 1
result = cnt / score[0] * 100
print(**f'{result:.3f}%'******)
<파이썬 f-string으로 소수점 관리하기>
f를 먼저 써주고, 중괄호 사이에 {변수 : 소수점자리수}를 써준다.
C++
#include <iostream>
using namespace std;
int main() {
int c, n, num;
int avg;
int score[1000] = {0, }; // 0으로 초기화
double result;
cin >> c;
for (int i = 0; i < c; i++) {
avg = 0;
num = 0;
cin >> n;
for (int j = 0; j < n; j++) {
cin >> score[j];
avg = avg + score[j];
}
avg = avg / n;
for (int j = 0; j < n; j++) {
if (score[j] > avg)
num++;
}
result = (double)num / n * 100;
cout << fixed;
cout.precision(3);
cout << result << "%" << endl;
}
}