βοΈ Java vs Python λ¬Έλ² λΉκ΅: μ μ κ³μ° μμ λ‘ μ΄ν΄νλ μ°¨μ΄μ
β νμ΄μ¬μ μ΄λ€ μΈμ΄?
1οΈβ£ μΈν°νλ¦¬ν° μΈμ΄ : μ½λλ₯Ό ν μ€μ© ν΄μ → λννλ― μ€ν κ°λ₯
2οΈβ£ μ€ν¬λ¦½νΈ μΈμ΄ : λΉκ΅μ κ°λ³κ³ λΉ λ₯΄κ² μ€ν
3οΈβ£ λμ νμ΄ν : λ³μ μ μΈ μ νμ μ§μ λΆνμ (type() ν¨μλ‘ νμΈ κ°λ₯)
4οΈβ£ κ°μ²΄μ§ν₯ μ§μ : ν΄λμ€λ₯Ό ν΅ν μΊ‘μν λ° μμ κ°λ₯
5οΈβ£ 리μ€νΈ = μλ° λ°°μ΄ κ°λ κ³Ό μ μ¬ + μ¬λΌμ΄μ± κ°λ₯ (λ²μ μ§μ μ κ·Ό)
6οΈβ£ ν¨μ vs λ©μλ : ν¨μλ λ 립, λ©μλλ 주체(κ°μ²΄)κ° μμ
7οΈβ£ λ΄μ₯ ν¨μ κ°λ ₯ : max(), min(), len() λ± κ°λ ₯νκ³ μ¬μ© νΈλ¦¬
β JAVA μ½λ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// μ
λ ₯ λ°κΈ° μν Scanner κ°μ²΄ μμ±
Scanner sc = new Scanner(System.in);
// νμ μ λ³μ μ μΈ
int studentNum = 0;
// 2 μ΄μ 1000 μ΄νμ μ μλ§ λ°μ μ μλλ‘ λ°λ³΅
while (true) {
studentNum = sc.nextInt();
if (2 <= studentNum && studentNum <= 1000) {
break;
} else {
continue;
}
}
// νμ μ μλ₯Ό μ μ₯ν λ°°μ΄ μμ±
int[] score = new int[studentNum];
// νμ μλ§νΌ μ μ μ
λ ₯ λ°κΈ°
for (int i = 0; i < studentNum; i++) {
score[i] = sc.nextInt();
}
// μ΅λκ°, μ΅μκ° μ΄κΈ°ν
int max = score[0];
int min = score[0];
// μ μ λ°°μ΄ μννλ©΄μ μ΅λκ°/μ΅μκ° κ°±μ
for (int i = 1; i < studentNum; i++) {
if (max < score[i]) {
max = score[i];
}
if (min > score[i]) {
min = score[i];
}
}
// μ μ μ°¨ κ³μ°
int gap = max - min;
// κ²°κ³Ό μΆλ ₯
System.out.println(gap);
// μ€μΊλ λ«κΈ° (μμ μ 리)
sc.close();
}
}
β PYTHON μ½λ
# μ ν¨ν νμ μλ₯Ό μ
λ ₯λ°μ λκΉμ§ λ°λ³΅
while True:
student_num = int(input()) # μ
λ ₯κ°μ μ μλ‘ λ³ν
if 2 <= student_num <= 1000:
break
else:
continue # μ ν¨νμ§ μμΌλ©΄ λ°λ³΅ κ³μ
# μ μλ₯Ό μ μ₯ν 리μ€νΈ μ μΈ
scores = []
# νμ μλ§νΌ μ μ μ
λ ₯ λ°κΈ°
for _ in range(student_num):
score = int(input())
scores.append(score) # 리μ€νΈμ μ μ μΆκ°
# μ΅λκ°κ³Ό μ΅μκ° μ΄κΈ°ν (첫 λ²μ§Έ μ μλ‘)
max_score = scores[0]
min_score = scores[0]
# λλ¨Έμ§ μ μλ₯Ό μννλ©΄μ μ΅λκ°/μ΅μκ° κ°±μ
for s in scores[1:]:
if s > max_score:
max_score = s
if s < min_score:
min_score = s
# μ μ μ°¨ κ³μ°
gap = max_score - min_score
# κ²°κ³Ό μΆλ ₯
print(gap)
β max() / min()μ νμ©ν Python μ½λ
# μ ν¨ν νμ μλ₯Ό μ
λ ₯λ°μ λκΉμ§ λ°λ³΅
while True:
student_num = int(input()) # μ μλ‘ μ
λ ₯
if 2 <= student_num <= 1000:
break
# νμ μ μλ₯Ό μ
λ ₯λ°μ 리μ€νΈλ‘ ꡬμ±
scores = [int(input()) for _ in range(student_num)] # 리μ€νΈ μ»΄ν리ν¨μ
μ¬μ©
# μ΅λκ°κ³Ό μ΅μκ°μ λ΄μ₯ ν¨μλ‘ ν μ€μ κ³μ°
gap = max(scores) - min(scores) # max(), min()μ 리μ€νΈ μ 체 μ€ κ°μ₯ ν°/μμ κ° λ°ν
# κ²°κ³Ό μΆλ ₯
print(gap)
β Java vs Python μ°¨μ΄ μμ½ (μ μμ°¨ κ³μ° μ½λ κΈ°λ°)
νλͺ© | Java | Python |
μΈμ΄ μ’ λ₯ | μ»΄νμΌ μΈμ΄ (μ μ νμ΄ν) | μΈν°νλ¦¬ν° μΈμ΄ (λμ νμ΄ν) |
νμ μ μΈ | int, String λ± λͺ μμ μΌλ‘ μ μΈ νμ | λ³μ μ μΈ μ νμ λͺ μ μμ (type()μΌλ‘ νμΈ) |
μ λ ₯ μ²λ¦¬ | Scanner sc = new Scanner(System.in) | input() μ¬μ©, int(input())λ‘ λ³ν |
λ°°μ΄ μλ£ν | int[] score = new int[n] | scores = [] 리μ€νΈ μ¬μ© |
λ°°μ΄ μΆκ° λ°©μ | μΈλ±μ€λ‘ μ§μ ν λΉ (score[i] = ...) | .append()λ‘ λ¦¬μ€νΈμ μΆκ° |
μ΅λκ°/μ΅μκ° | μ§μ λ°λ³΅λ¬ΈμΌλ‘ λΉκ΅ | λ°λ³΅λ¬Έ or max(), min() λ΄μ₯ ν¨μ μ¬μ© κ°λ₯ |
λ°λ³΅λ¬Έ ꡬ쑰 | for (int i = 0; i < n; i++) | for i in range(n) λλ 리μ€νΈ μ»΄ν리ν¨μ |
μΆλ ₯ λ°©μ | System.out.println() | print() |
μ½λ κ°κ²°μ± | μ μ°¨μ , λͺ μμ (κΈΈμ§λ§ λͺ ν) | κ°κ²°νκ³ μ§κ΄μ μΈ λ¬Έλ² (μ§§κ³ μ½κΈ° μ¬μ) |
π‘ μΆκ° κ΄μ μμ½
1οΈβ£ Pythonμ μ½λλμ΄ μ κ³ κ°κ²°
2οΈβ£ Javaλ μ ννλ κ΅¬μ‘°λ‘ ν° νλ‘μ νΈμ μ 리
3οΈβ£ Pythonμ max(), min() κ°μ λ΄μ₯ ν¨μλ‘ λ°λ³΅μ λ체 κ°λ₯
4οΈβ£ Javaλ νμ μμ μ±μ΄ λκ³ IDE μλμμ±μ μ 리