오랜만에 블로그 글이네요!싸피에 들어오고 약 1.5개월 정도 지났습니다.최근엔 프로젝트보다는 실력 기복이 심한 알고리즘을 안정적으로 잘하기 위해서 알고리즘을 집중해서 공부하고 있어서 글을 자주 작성하지 못했습니다.그래도 최근에 어느정도 성과가 있어서 정리할 겸 글을 오랜만에 적습니다 :> 싸피를 시작하고 약 1.5개월 동안 스타트캠프, 자바, Js에 대한 학습과 평가시험 그리고 1번의 관통 프로젝트를 경험했습니다. 현재는 싸피에서 알고리즘 수업을 듣고, 매일 문제 풀고 발표하는 과정을 하고 있습니다. 또한 입과할 때 코딩테스트를 좋은 성적으로 들어와, 입과생들 중에서 선발되어 삼성 B형 취득을 위한 특강을 알고리즘 업계에서 유명한 '류호석' 강사님께 배우고 있습니다. 추가로 코딩테스트 스터디를 싸피 동..
PS
시작하며 프로그래머스 고득점 kit 카테고리 중 해시에 관련된 문제이므로 해시맵 설명 첫번째 코드 / 해설 두번째 코드 / 해설 이렇게 글을 작성하겠습니다. 해시맵이란? 키를 값에 mapping하는 데이터 구조 키의 hash()를 사용하여 내부의 해시 테이블에 데이터를 저장 파이썬에서는 dict 타입을 통해서 일반적으로 구현 평균적으로 상수 O(1) 시간 내에 연산을 해서 매우 효율적 하지만 시간 복잡도는 O(n) 자주 사용되는 해시맵의 메서드들 dict[key]: 키에 해당하는 값을 반환 키가 딕셔너리에 없는 경우 KeyError 예외를 발생 update(): 다른 딕셔너리의 키-값 쌍을 현재 딕셔너리에 추가 이미 존재하는 키의 경우, 값을 업데이트 dictionary.update(another_dic..
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이(간단하게) 조이스틱의 조작 횟수 계산 상하로 움직이는 조작 횟수 계산 각 문자에 대해서 위, 아래로 움직이는 조작 횟수를 구하고 이 중 최솟값을 선택한다 좌우로 움직이는 조작 횟수 계산 기본값은 좌우 길이로 설정 A가 연속적으로 연결된 부분을 찾고 시작과 끝 index 구하기 A가 연속적인 배열을 기준으로 좌로 움직이든 우로 움직이든 결국 좌/우측 부분 중 한 곳은 2번을 지나야 하므..
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 (간단하게)소수인지 검증하는 함수 생성이를 검증할 때 모든 수를 탐색하는 게 아니라, 제곱근까지만 탐색하면 된다.에라토스테네스의 체를 이용해도 좋다.문자열을 받아서 1자리부터 ~ 문자열 길이만큼의 순열 집합을 생성한다.이 집합을 위에 정의한 함수를 가지고 소수인지 아닌지 검증한다소수인 부분만 answer 배열에 저장한다중복되는 부분을 제거하고 결과 값을 반환한다.풀이 (자세하게)소수 검증..
문제: https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 조건 2 ≤ N, M ≤ 100 1 ≤ R ≤ 1,000 N, M은 짝수 1 ≤ Aij ≤ 108 입력 첫째 줄에 배열의 크기가 N, M과 수행해야 하는 연산 R 입력 둘째 줄부터 2차원 배열 값 입력 마지막 줄은 수행해야하는 연산 입력 (공백으로 구분되어 있고, 순서대로 적용) 출력 입력으로 주어진 배열에 R개의..