class 2

n=int(input())
mem=[]
for i in range(n):
    age, name=map(str, input().split())
    age=int(age)
    mem.append((age,name))

mem.sort(key=lambda x : x[0])

for i in mem:
    print(i[0],i[1])

<코드 설명>

  n을 입력 받아주, n만큼 for문을 반복하여 age와 name을 입력받도록 했다. 일단 str로 입력을 받은 후, age는 int로 변경해주었다. 그리고 이 age와 name을 mem이라는 list에 append 시켜주었다.

  mem에 모두 추가가 되었으므로 이를 sort시켜준다. key=lambda x : x[0]은 age만 가지고 비교하도록 하기 위해 사용하였다.

  for문을 통해 정렬된 mem list를 print해주었다.

 

<실행 결과>

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ] 9012 괄호  (0) 2022.05.28
[BOJ] 1094 막대기  (0) 2022.05.22
[BOJ] 1920 수 찾기  (0) 2022.05.22
[BOJ] 1850 최대공약수  (0) 2022.05.15
[BOJ] 2751 수 정렬하기2  (0) 2022.05.15

class 2

from sys import stdin, stdout
n = stdin.readline()
N = set(stdin.readline().split())
m = stdin.readline()
M = stdin.readline().split()

for l in M:
    if l in N:
        print(1)
    else:
        print(0)

<코드 설명>

  자료구조 시간에 배운 이진 탐색 방법을 활용하려 했는데 시간이 오래걸릴 것 같아 구글링하던 중, 새로운 방법을 발견하였다.

  먼저, input으로 인한 시간초과가 발생하지 않도록 stdin.readline()을 사용해주었다. n은 정수의 개수, N은 배열의 index로 입력받아주었다. 이를 set으로 묶으면 더욱 효율적인 코드가 된다고 한다. 이는 중복을 허용하지 않으며, 순서가 없기 때문이다. 또, m을 변수로 설정하여 정수 개수를 입력 받고, M으로 list를 만들어준다.

  for문으로 M list 속 수들을 l에 넣어주는데 만약 l이 N에 속해 있다면 1을 출력하고, 그렇지 않으면 0을 출력하도록 하였다.

 

<실행 결과>

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ] 1094 막대기  (0) 2022.05.22
[BOJ] 10814 나이순 정렬  (0) 2022.05.22
[BOJ] 1850 최대공약수  (0) 2022.05.15
[BOJ] 2751 수 정렬하기2  (0) 2022.05.15
[BOJ] 7568 덩치  (0) 2022.05.15

a,b=map(int, input().split())
if a<b :
    a,b=b,a
while b!=0:
    a=a%b
    a,b=b,a
print(a*'1')

<코드 설명>

먼저, a, b를 입력받았다.

유클리드 호제법을 이용해 a, b의 최대공약수를 구해주었다.

- b가 0이 아닐때까지 a는 a를 b로 나눈 나머지이고, a와 b의 위치를 변경

구한 최대공약수만큼 문자"1"을 출력해준다.

 

<실행 결과>

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ] 10814 나이순 정렬  (0) 2022.05.22
[BOJ] 1920 수 찾기  (0) 2022.05.22
[BOJ] 2751 수 정렬하기2  (0) 2022.05.15
[BOJ] 7568 덩치  (0) 2022.05.15
[BOJ] 1312 소수  (0) 2022.05.08

class 2

import sys
input=sys.stdin.readline
n=int(input())
num=[]
for i in range(n):
    num.append(int(input()))
num.sort()

for i in num:
    print(i)

<코드 설명>

정렬할 개수인 n을 입력받는다.sys.stdin.readline을 사용해 준 이유는 시간초과를 방지하기 위해서이다.n번 반복하여 num이라는 list에 input을 받아준다.모두 입력 받은 후에 num list를 sort해준다.그리고 num을 출력해주었다.

 

<실행 결과>

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ] 1920 수 찾기  (0) 2022.05.22
[BOJ] 1850 최대공약수  (0) 2022.05.15
[BOJ] 7568 덩치  (0) 2022.05.15
[BOJ] 1312 소수  (0) 2022.05.08
[BOJ] 2609 최대공약수와 최소공배수  (0) 2022.05.08

+ Recent posts