-
[SW 정글 5일차] 유용한 파이썬 문법기타/SW 사관학교 정글 2021. 8. 6. 22:57
오늘부로 정글에 들어온 지 5일차가 되었고 앞으로 4주동안 알고리즘과 자료구조 지식을 쌓게 될 예정이다.
오늘은 알고리즘 기초부터 시작해 간단한 구현문제를 풀면서 알게된 유용한 파이썬 문법을 정리하려고 한다.
참고하고 있는 서적은 자료구조와 함께 배우는 알고리즘 입문 파이썬 편이고 백준 온라인 저지문제를 풀고 있다.
1. 포맷 문자열 리터럴
먼저, 포맷 문자열 리터럴이다.
포맷 문자열 리터럴은 f-문자열이라고도 불리는데 문자열에 f 또는 F 접두어를 붙이고 표현식을 {expression}로 작성하여 문자열에 파이썬 표현식의 값을 삽입할 수 있게 한다.
{expression}안에는 어떠한 값을 가지고 있는 변수명을 그대로 넣어 값을 출력할 수 있게도 해주고 어떠한 수식을 넣어도 결과값을 출력할 수 있게 해준다.
간단한 코드 예시를 봐보자.
n = 5 m = 5 print(f'n의 값은 {n}입니다.') // 결과: n의 값은 5입니다. print(f'm의 값은 {m}입니다.') // 결과: m의 값은 5입니다. print(f'm*n의 값은 {m*n}입니다.') // 결과: m*n의 값은 25입니다. print(f'{m == 8}) // 결과: False
이러한 포맷 문자열 리터럴 기능은 변수와 일반 문자열을 함께 출력할 때 유용하게 쓰인다.
예를 들어, 출력을 어떠한 퍼센트를 구하고 %와 함께 출력해야한다고 생각해보자.
포맷 문자열 리터럴이 없다면 아래와 같이 코드를 짜야할 것이다.
part = 7 all = 10 percentage = 7 / 10 * 100 print(percentage, '%', sep = '') // 결과: 70.0%
print부분만 보면 뭔가 많이 들어간 것이 보인다.
이 코드를 포맷 문자열 리터럴을 사용하면 아래와 같다.
part = 7 all = 10 percentage = 7 / 10 * 100 print(f'{percentage}%') // 결과: 70.0%
이처럼 출력형태가 어떠한 표현식과 문자열을 함께 표현되어야 한다면 포맷 문자열 리터럴을 고려해볼 필요성을 느꼈다.
아침 10시부터 시작해 저녁 10시까지 푼 문제들이다.
정글에 들어오기 전부터 코딩테스트 문제풀이는 꾸준히 해왔는데 답이 생각이 안나면 30분 정도 고민해보고 답을 찾아보면서 공부를 했다.
하지만, 정글에 들어와서는 최소 2시간을 고민하며 문제를 풀려고 노력했고 이렇게 자세가 바뀌게 된 계기는 주변 동료들의 영향도 크다.
모두가 머리를 붙잡고 한 문제에 매달리고 있는 모습을 보면서 나도 포기하지 않고 계속해서 생각해내려고 노력했고 답을 보지않고 solved.ac기준 실버 3~4문제까지 해결했다.
또한, 동료들과 함께 문제해결방법을 공유하고 다른 동료들의 풀이를 보면서 문제를 접근하는 새로운 시각도 배울 수 있는 좋은 기회가 되었다.
앞으로 알고리즘을 공부하며 발전할 내 모습이 기대가 된다.
'기타 > SW 사관학교 정글' 카테고리의 다른 글
[SW 정글 8일차] 정렬 알고리즘 2 (0) 2021.08.09 [SW 정글 7일차] 정렬 알고리즘 1 (0) 2021.08.08 [SW 정글 6일차] 몰랐었던 배열 비교 (0) 2021.08.07 [SW 정글 4일차] 나는 왜 정글에 들어왔을까? (feat. 0주차 회고) (2) 2021.08.05 SW 사관학교 정글 2기 지원후기 (지원서 작성, 1차 시험, 인터뷰) (35) 2021.07.19