Skip to content

y3binchoi/problem-solving

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodingTest

Solved.ac프로필 Solved.ac잔디

📍목표

  • 코딩 테스트 감 잃지 않기.
  • 라이브 코딩 테스트 대비.

⚠️ 규칙

  • 매주 알고리즘 주제를 정합니다.
  • 해당 주제와 관련있는 문제를 3개 선정하여 풀고 양식에 따라 해설을 정리합니다.
  • 일요일 자정까지 문제 풀이를 완료합니다. 문제 정리 노션
  • 월요일 자정까지 스터디원의 문제 풀이를 보고 코드 리뷰를 답니다.
  • 화요일 자정까지 스터디원의 피드백을 반영하여 코드를 개선합니다.

🔍 Python Tips

입력

몇 개의 숫자를 한 줄에 입력 받기

N, K = map(int, input().split())

한 줄 입력을 리스트로 받기

distance = list(map(int, input().split()))

여러줄 입력을 리스트로 받기

coins = list(int(input()) for _ in range(N))

조금 더 빠르게 입력 받기

import sys
input = sys.stdin.readline
expr = input().strip()
# python의 Shadowing을 이용해서 이대로 input()처럼 쓸 수 있음

이중리스트 입력 받기

conferences = [list(map(int, input().split())) for _ in range(N)]
input().split() : 문자열을 argument를 기준으로 나누고 나뉜 문자열들의 리스트를 반환
input().rstrip() : 오른쪽  공백 지우기

출력

줄바꿈 안하고 한줄에 출력하기

for r in range(N):
    print(rank[r] + 1, end=' ')

반복문

while ~ else , for ~ else

# 반복문의 조건에 안맞을 때, else의 구문이 실행됨.

세 개의 수를 중복 없이 선택하기 (순서 상관 없음)

for i in range(N - 2):
    for j in range(i + 1, N - 1):
        for k in range(j + 1, N):

리스트 활용

리스트차집합 (집합 아님)

ex_lost = [i for i in lost if i not in reserve]

이중리스트 정렬하기

meeting.sort(key=lambda x: x[1])  # 1번째 원소 기준 정렬
meet = sorted(meeting, key=lambda x:x[1])

이중리스트의 특정 위치 원소만 뽑아내기

kg = [build[i][0] for i in range(N)]
cm = [build[i][1] for i in range(N)]

사전 활용

사전의 기본값 생성

from collections import defaultdict
graph = defaultdict(list)   # 기본값이 list()로 지정됨

Python 수행시간 측정 소스코드

import time
start_time = time.time()  # 측정 시작
## 프로그램 소스코드
end_time = time.time()  # 측정 종료
print("time: ", end_time - start_time)  # 수행 시간 출력

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages