본문 바로가기
  • 시 쓰는 개발자

코딩테스트3

코테 문법정리 (1) - 실수형, 연산자 정수형 대부분의 입출력 형태이다. pass 실수형 제일 조심해야하는 게 바로 실수형이다. 일단 표현 방식부터 알아보자. 1.23 1e9 # 10억 67.22e1 # 672.2 65e-1 # 6.5 우리가 아는 방식 외에도 e나 E를 이용해서 위와같이 표현할 수 있다. 큰 수는 저렇게 문제가 나오기도 하니 알아두자. 부동 소수점 실수를 처리할 때 부동소수점 방식을 이용하기에 0.3 + 0.6은 0.89999999.... 로 저장된다. 보통 정수나 문자열 등으로 입출력을 받기에 이런 것 까지 고려하는 문제는 잘 나오지 않겠지만 알아는 두자. round 함수 - round(실수, 반올림하고자 하는 위치-1) 위 상황처럼 소수점으로 곤란할 때 round함수를 쓸 수 있다. 윗줄에서 말한 반올림하고자 하는 위치-.. 2024. 3. 14.
문제풀이 & 오답노트 양식 step 1. 논리적인 흐름 직접 써내려가며 문제 파악하기 step 2. 적합한 자료구조 생각하기 step 3. 시간복잡도, 공간복잡도 계산해보기 step 4. 문제 풀기 (20~30분 투자) step 5. 문제 정리 / 오답노트하기 문제 분석 알고리즘 설계 내 코드 틀린 이유 코드 수정 느낀점 추가하면 좋은 것)) 시간복잡도 2024. 3. 4.
코딩테스트 시간초과 해결법 (백준) 1. 코드를 PYPY3로 돌려본다. pypy3도 파이썬으로 만든거지만 속도도 빠르고 문법이 동일해서 pypy3로 바꿔주기만 하면 된다. 2. 입력을 받을 때 input()대신에 sys.stdin.readline()을 사용하자. 거의 2배는 빠르다고 한다. input()은 rstrip()을 적용해 반환하기 때문에 느리다. ※ 주의) sys.stdin.readline()는 \n도 받아오기 때문에 항상 .strip()을 해줘야한다. 3. 반복문 줄이기, 특히 중첩 for문 4. 재귀함수를 쓰는 경우, 메모이제이션 기법을 활용해보자. ▶ 이전에 계산한 값을 중복 계산하지 않기 위해 저장해놓는 기법. 팩토리얼이나 피보나치수열 처럼 기존에 한번 계산을 했던 것이 나중에 반복적으로 다시 나올 때 사용하면 효율적이다... 2022. 10. 28.