Today I Learned

[TIL] PS 강의 Sec.01-9 / 리스트와 내장 함수, 백준 14924 폰 노이만과 파리(2) [21-11-09]

목차

TIL

- Sec.1-9 리스트와 내장 함수(2)

- 백준 14924 폰 노이만과 파리

 


TIL

 어디에 살지 마음을 굳혔다. 가까울수록 집중할 수 있다는 것을 믿기에. 점점 이제 실감이 나는 것만 같다. 새로운 세상 속에서 새롭게 태어나자. 

 코테 준비와 42 준비에 너무 정신이 없어, k8s강의에 소홀히 하고 있었는데, 오늘 과제 제출 기한이 공지되어, 밀려놨던 강의들을 들으며 포스팅을 해야겠다. 42에서 기본을 닦고 실무에 필요한 역량을 기르는 것이 맞을 것 같다. 강의 수료를 목표로 일단 공부하자.

 

 

Sec.1-9 리스트와 내장 함수(2)

https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8

 

파이썬 알고리즘 문제풀이 (코딩테스트 대비) - 인프런 | 강의

파이썬을 이용한 코딩테스트 문제풀이를 합니다., [사진] 강좌를 다음과 같이 공부해 문제해결력을 기르기 바랍니다. 1. 문제와 자동채점폴더를 제공하니, 영상을 보기 전에 꼭 먼저 문제를 스스

www.inflearn.com

 정말 강의를 볼 때마다, 번뜩번뜩 놀라는 것 같다. 기초 강의라고 기본을 그냥 넘어가버렸다면 많은 부분을 분명 놓쳤을 것이다. 항상 기본기에 충실하자. 겸손한 태도로 놓치지 말자.

 

 리스트 슬라이스에 대해서는, 어느 정도는 알고 있었지만 제대로 정리한 적은 없어서 피상적으로 알고 있었지만, 정확하게 끝부분은 포함이 안된다는 것을 기억하고 넘어간다.

 개별 인덱스 접근은 워낙 문제를 풀면서 많이 접근했었기에, 리스트에서 값을 꺼내는 것과 마찬가지로 익숙하다.

 

 enumerate, all, any 함수는 처음 보는 함수들이었다. 각각의 함수들을 이제 상황에 맞게 사용할 수 있을 것 같다.

 enumerate 함수의 경우는 해당 리스트의 인덱스 값과 인덱스로 접근 한 값을 튜플 형태로 접근한다는 것, 그리고 튜플의 원소는 바꿀 수 없다는 것을 배웠다. 이 함수를 잘 사용하면 오염되지 않게 데이터를 저장할 때 유용하게 쓸 수 있을 것 같다.

 

 all 함수는 () 조건문 안에 < 조건 문안에 값은 for i in _list 형태로 가능 > 리스트 형태의 값들이 모두 다 참이면 True를 반환하는 함수이다. 무언가 예외처리를 할 때 효과적으로 사용될 것 같다.

 

 any 함수는 조건으로 하나의 값이라도 참이면 True를 반환하는 함수이다. 위와 마찬가지로 특정 조건을 만족할 때라도 참으로 분기를 나눌 수 있을 것 같다.

 

Sec.1-9 리스트와 내장 함수(2)

'''
리스트와 내장함수(2)
'''
# 리스트 슬라이스
a = [23, 12, 36, 53, 19]
# 리스트 슬라이스 3 인덱스 전까지
print(a[:3])
# 리스트 슬라이스 1 인덱스 부터 4인덱스 전까지
print(a[1:4])

# 리스트 길이 반환 함수
print(len(a))


# 리스트 개별 인덱스에 접근
for i in range(len(a)):
    print(a[i], end=' ')
print()


# a 리스트의 값을 꺼내 접근
for x in a:
    print(x, end=' ')
print()


for x in a:
    # 리스트의 값 중 만족하는 값만 출력, 홀수 출
    if x % 2 == 1:
        print(x, end=' ')
print()


# 리스트에 튜플 형태로 접근하게 하는 enumerate 함수
# (인덱스, 값)
for x in enumerate(a):
    print(x)


# 대괄호를 열면 리스트
# 소괄호를 열면 튜플
b = (1, 2, 3, 4, 5)
print(b[0])
# 튜플 값은 변경 불가능
# b[0] = 7
print(b[0])


# 해당 튜플의 원소로 접근
for x in enumerate(a):
    print(x[0], x[1])
print()

# 위와 동일하지만, 각각의 변수 값에 할당
for index, value in enumerate(a):
    print(index, value)
print()


# all 함수, (리스트 안의 각각의 요소에 접근) => 소괄호 안
# all 함수는 조건이 모두가 참이어야 true 값을 반환한다
if all(60 > x for x in a):
    print("YES")
else:
    print("NO")

# 거짓의 경우
if all(50 > x for x in a):
    print("YES")
else:
    print("NO")


# any 함수, 하나만 참이어도 true 값 반환
# 모두 거짓이면 false 값 반환
if any(15 > x for x in a):
    print("YES")
else:
    print("NO")

if any(11 > x for x in a):
    print("YES")
else:
    print("NO")

 

 

백준 14924 폰 노이만과 파리

https://www.acmicpc.net/problem/14924

 

14924번: 폰 노이만과 파리

역사상 최고의 천재중 하나인 폰 노이만에게는 다음과 같은 재밌는 일화가 있다. 그의 동료는 어느 날 폰 노이만의 천재성을 시험해보기 위해서 다음과 같은 질문을 던졌다. “200마일 길이의 철

www.acmicpc.net

 math 태그여서 그런가, 수학 문제를 푸는 듯한 느낌을 받았다. 정말 쉬운 문제다. 위의 간단한 논리를 아래와 같이 코드로 구현만 하면 되는 문제다. fly_speed 대신 75 해서 5트한 건 안 비밀

 기본에 충실하자.

car_speed, fly_speed, distance = map(int, input().split())
result = int(distance / (car_speed * 2)) * fly_speed
print(int(result))

문제 풀이 시간 10분 내외