전체 글
-
조이스틱프로그래머스 알고리즘 2024. 1. 9. 15:01
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조이스틱을 최소로 움직여서 알파벳을 만드는 문제이다. 처음 알파벳은 글자 수 * "A" 로 설정한다. (ex : "JAZ" 이면 처음 알파벳은 "AAA") 먼저 내가 문제를 풀면서 처음에 생각한 방법이다. 1. 먼저 check 배열을 통해 바꿀 알파벳을 찾는다. (A는 바꿀 필요없음) 2. 현재 위치(index = 0)에서 가장 가까운 곳을 찾고 이동한다. (왼쪽, 오른쪽) 3. 이동한 위치에서 상하로 알파벳을 최소로 이동하면서 바꿈(위, 아래) 2 ~ 3 반복 이에 따라 아래 코드는 내가 작성한 코드이..
-
백준 14499 (주사위 굴리기)백준 문제 2024. 1. 7. 16:39
문제 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net N * M의 크기의 지도가 있다. 각 지도 칸은 정수가 쓰여있고, 주사위를 동서남북으로 굴려서 주사위의 윗면의 숫자를 출력하는 문제이다. 주사위는 예를 들어 위와 같이 전개도를 가진다. (주사위의 윗면이 1, 밑면이 6이다.) 주사위는 맨처음에 N * M 지도의 [x][y]의 위치에 존재해 있다. 주사위를 굴렸을 때, 이동한 칸에 쓰여 있는 수가 0이면, 주사위의 바닥면에 쓰여 있는 수가 칸에..
-
등산 코스 정하기프로그래머스 알고리즘 2023. 11. 25. 13:14
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위와 같은 등산코스가 주어진다. 파란색은 출입구이고, 빨간색은 정상이다. 출입구에서 시작해서 정상까지 가는 동안 최소 비용으로 가는 경로를 구하는 문제이다. 출입구는 항상 같은 번호여야 한다. 즉, 등산 코스 중 다른 출입구는 방문 할 수 없다. 정상은 한번만 방문 해야 한다. 예를 들어 위와 같은 경로로 등산하면 비용은 5이다.(경로 중 가장 높은 금액) 위와 같은 경로로 등산하면 비용은 3이다. (경로 중 가장 높은 금액) 따라서 최소 비용는 3이다. 이 때 최소경로가 되는 등산코스에 포함된 정상 번..
-
코딩 테스트 공부프로그래머스 알고리즘 2023. 11. 25. 01:44
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 현재 자신의 알고력과 코딩력으로 주어진 문제를 풀 수 있는 최소 시간을 구하는 문제이다. 모든 문제는 최소 알고력과 코딩력이 주어지고 자신의 현재 알고력과 코딩력이 모두 문제의 알고력과 코딩력을 넘어야 문제를 풀 수 있다. 문제를 풀면 알고력과 코딩력이 문제에 따라 증가된다. 물론 드는 시간도 제각각이다. 한 문제를 여러번 풀 수 있다. 또 다르게 알고력과 코딩력을 늘릴 수 있는 방법은 1의 시간을 들이며 알고력, 코딩력 둘중 하나를 늘릴 수 있다. 초기 알고력(alp), 코딩력(cop)가 주어집니다. ..
-
표 편집프로그래머스 알고리즘 2023. 11. 24. 00:36
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 행 번호가 적혀있는 표가 주어지면 여러 명령어를 통해 표를 삽입하거나 삭제할 수 있다. 명령어 모음인 cmd가 주어지면 처음에 주어진 표와 cmd 명령이 모두 실행된 후의 표와 비교해 원래에 표와 동일한 행이면 O, 다르면 X를 표시해 문자열을 return 하는 문제이다. 먼저 주어진 n은 원래 주어진 표의 길이이다. 예를들어 n = 8이라고 하면 행번호는 (0 ~ 7) 이된다. k는 현재 선택된 행 번호를 의미한다. cmd는 다음과 같이 4가지 종류로 나눠진다. "U X": 현재 선택된 행에서 X칸 위..
-
수식 최대화프로그래머스 알고리즘 2023. 11. 22. 23:10
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 수식이 주어지면, 연산자의 우선순위를 임의를 바꿔 최댓값을 구하는 문제이다. 예를 들어 "100-200*300-500+20" 식이 주어지면, * > + > - 순서로 연산자의 우선순위를 정해주면 100-200*300-500+20 = 100-(200*300)-500+20 = 100-60000-(500+20) = (100-60000)-520 = (-59900-520) = -60420 음수의 결과값은 절댓값을 취해준다. 연산자는 총 "*", "+", "-" 3가지가 나온다. 먼저 연산자 순위의 모든 경우의 수..
-
징검다리 건너기프로그래머스 알고리즘 2023. 11. 21. 20:12
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 징검다리를 건널 수 있는 사람 숫자를 세는 문제이다. 예를 들어 징검다리인 stones = {2, 4, 5, 3, 2, 1, 4, 2, 5, 1} 이라고 한다면, 사람이 지나갈 때 마다 징검다리의 숫자는 -1씩 된다. 만약 징검 다리의 숫자가 0이 되면 점프해서 다음 징검다리로 건너가야 한다. 최대 k개의 징검다리를 건너갈 수 있다면 몇명의 사람이 이용가능할 까? 예를 들어 k = 3이면 아래 예시와 같다. 처음에 접근할 때는 stones를 처음부터 k의 구간을 계속 보면서 확인하였다. 내 첫 코드 cl..
-
보호소에서 중성화한 동물 (Oracle)프로그래머스 SQL 2023. 11. 12. 03:27
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요. 중성화를 거치지 않은 동물은 성별 및 중성화 여부에 Intact, 중성화를 거친 동물은 Spayed 또는 Neutered라고 표시되어있습니다. SELECT A.ANIMAL_ID, A.ANIMAL_TYPE, A.NAME FROM ANIMAL_INS A LEFT OUTER JOI..