


n, x = map(int, input().split())
a = list(map(int,input().split()))
for i in a:
if int(i) < x:
print(i, end=' ')
리스트 컴프리헨션과 join을 사용한 보다 효율적인 코드를 찾았다. 리스트 컴프리헨션을 사용할 수 있도록 연습이 필요할 것 같다.
a,b = map(int,input().split())
score = [x for x in input().split() if int(x)<b]
print(' '.join(score))


a_list = []
for i in range(9):
a = int(input())
a_list.append(a)
print(max(a_list))
print(a_list.index(max(a_list))+1)


아이디어는 풀이에 맞았는데 print에서 join이 str 형태의 리스트에만 적용이 된다는 것을 잠시 잊고 헤맸다.
n, m = map(int, input().split())
answer = [0] * n # n의 크기로 초기화
for _ in range(m):
i,j,k = map(int, input().split())
for idx in range(i,j+1):
answer[idx-1] = k
print(' '.join(map(str,answer)))
index()는 배열에서 값의 위치를 찾아주는 함수이며, 중복된 값이 있으면 가장 먼저 나온 값의 위치를 출력한다. 문자열, 리스트, 튜플 자료형에서 사용 가능하다.
index()와 find()의 차이점
index()는 ValueError가 발생하고 find()는 -1을 반환한다.index()는 문자열, 리스트, 튜플에서, find()는 문자열에서만 사용이 가능하다. 예시
# index()
a = 'abcdab'
print(a.index('a')) # 0
print(a.index('c')) # 2
print(a.index('bcd')) # 1
print(a.index('a', 2)) # 4
print(a.index('a', 2, 5)) # 4
# print(a.index('a', 2, 4)) # 에러 발생!!
# 리스트에서도 사용 가능
b = [1, 2, 3]
print(b.index(2)) # 1
# 튜플에서도 사용 가능
c = ('a', 'b', 'c', 'd')
print(c.index('c')) # 2
# find()
a = 'abcdab'
print(a.find('a')) # 0
print(a.find('c')) # 2
print(a.find('bcd')) # 1 => 문자열의 위치를 찾을 수도 있음
print(a.find('a', 2)) # 4 => 시작점만 지정한 경우
print(a.find('a', 2, 5)) # 4 => 시작점과 끝점을 지정한 경우
print(a.find('a', 2, 4)) # -1 => 찾는 문자가 없는 경우 -1 반환
join()은 구분자.join(리스트)의 형식으로 활용하는, 리스트를 문자열로 반환해주는 함수이다. join()은 기본적으로 문자열로 이루어진 리스트에서만 사용 가능하므로 정수형으로 이루어진 리스트에서 사용하려면 map()을 활용하여 문자열로 바꿔 줘야 한다.