23.03.24(알고리즘문제풀기)

Vinyl Stage·2023년 3월 24일
0

개발일지

목록 보기
16/42

오늘 공부한 문제들을 정리해보자

25314반 코딩은 체육과목 입니다

그냥 문제가 이해가 안갔던 문제 ㅋㅋ

그냥 4의 배수의 몫만큼 long으로 출력하고 끝에 int를 붙이는건데 문제가 장황하게 길어서 햇갈렸다.

print((int(input())//4)*"long " + "int")

입력된 숫자를 4로 나누어서 그 수만큼 long 을 반복하고 끝에 int를 붙인다
간단함

10807번 갯수세기

입력

첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.

출력

첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.

해서 답은

n = int(input())
a = list(map(int, input().split()))
print(a.count(int(input())))

그대로 첫줄에 숫자를 받고 둘째줄에 여러개의 숫자를 리스트형태로 a에 담고
다음 수를 입력받는데 그 숫자가 있는 갯수를 출력해준다.
이건 count()라는 Method를 사용했다

다음

10871반 X보다 작은 수

문제

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

n, x = map(int, input().split())
print(*([num for num in list(map(int, input().split())) if num < x]))

해석하자면 두 수를 먼저 입력받는다
둘째줄에 숫자 여러개를 받고 이를 num안에 넣어서 for문으로 돌린다. 그리고 그 수들중 x에 입력한 수보다 작을경우 출력하는데 *로 사이에 공백을 준다

이걸 lambdafilter로 좀더 줄일 수 있다.

n, x = map(int, input().split())
print(*(filter(lambda num: num < x, map(int, input().split()))))

동일하게 수들을 담는데 map()으로 정수형으로 변환하고 lambda로 x보다 작은지 검사하고 filter로 걸러내서 출력한다.
lambda를 계속 사용해보면서 익숙해져야겠다.

profile
Life is Art

0개의 댓글