시뮬레이션 3

[프로그래머스][시뮬레이션] 99클럽 코테 스터디 3일차 TIL + 바탕화면 정리

오늘의 학습 키워드시뮬레이션 오늘의 회고🌱 오늘의 문제https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 컴퓨터 바탕화면을 좌표로 가정한다. 전체 파일을 모두 선택하기 위하여 왼쪽 위 지점부터 오른쪽 아래지점까지 드래그할 때, 최단 거리를 만들기 위한 시작점과 끝점을 찾는 문제이다.   🌱 나의 시도이 문제에 대해 내가 해결한 알고리즘의 시간 복잡도는 이중 반복문을 사용하므로 O(n^2)이다. 그러나 wallpaper의 길이가 최대 50, wallpaper의 내부 길이가 최대 50으로 최악..

Daily/Coding Test 2025.04.03

[백준] 99클럽 코테 스터디 2일차 TIL + 피보나치 비스무리한 수열

오늘의 학습 키워드메모이제이션, 시뮬레이션 오늘의 회고🌱 오늘의 문제피보나치 문제의 변형된 문제이다. 피보나치 문제가 특정 위치 n의 값에 대하여 n-1, n-2 연속된 두 값의 합으로 구해나갔다면, 이 문제는 n-1, n-3과 같이 한 칸을 띄운 두 값의 합으로 구하는 문제이다.이 외의 조건이 크게 달라지는 부분은 없어 기존의 피보나치 구하는 방식으로 구하면 크게 문제될 것이 없다. 🌱 나의 시도입력 값의 최대값이 116으로 크지 않아 복잡한 알고리즘을 사용하기 보다는 짧고 가독성 좋은 코드를 사용하는 것이 좋다는 판단을 했다. 동일한 연산을 반복하지 않으므로 재귀 함수가 불필요하며, 이전 연산 값을 저장해두고 사용할 수 있는 메모이제이션 정도면 충분하다. 현재 단계적으로 문제를 풀기 때문에 시간 ..

Daily/Coding Test 2025.04.02

[알고리즘] 구현(Implementation)

정의: 넓게는 알고리즘을 소스 코드로 바꾸는 것을 의미한다. 좁게는 문제에서 제시하는 제약 조건들에 대해 문법 및 라이브러리를 활용하여 꼼꼼하게 풀어내는 것을 의미한다.대표 예시- 완전 탐색: 문제에서 나올 수 있는 모든 경우의 수에 대해 계산하는 문제 유형- 시뮬레이션: 문제를 해결하기 위하여 각 절차를 한 단계씩 순차적으로 해결해나가는 문제 유형주의사항: 입력 조건이 자세하게 명시되며 문제의 길이가 긴 편이다.참고: 파이썬은 C, C++, JAVA에 비해 난이도가 낮은 반면 속도가 느리다는 단점이 있다. 이를 개선하기 위해 코딩 테스트 시 개발 환경에 PyPy를 지원한다면 PyPy를 선택하자. (실행 속도가 더 빠름)