Computer Sciences/Problem Solve(155)
-
[Programmers] 테이블 해시 함수
https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 처음에 문제를 읽는데 이해가 한 번에 되지 않아 애먹었다. 간단히 정리하면 다음과 같다. 주어진 2차원 정수 배열을 정렬한다. 이때 주어진 col 기준 오름차순으로 정렬하되 값이 같다면 기본 키인 첫 번 째 열 기준 내림차순으로 정렬한다. 주어진 row_begin부터 row_end까지 행을 순회하면서 각 행의 값들을 해당 행 번호로 mod 연산 한 값을 더한다. 만들어진 총합 값들을 ..
2023.08.03 -
[Programmers] 성격 유형 검사하기
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 간단한 구현 문제이다. 해결하는 방법에는 여러 방법이 있겠지만 필자는 HashMap으로 성격 유형 검사 결과를 관리했다. 고려해야할 부분은 성격 유형이 항상 일관되게 주어지지 않아 두 문자를 구별해야 하는 점이다. 이는 choice 값에서 4를 빼서 해결했다. choice - 4한 값이 0보다 크면 뒷 문자이고, 작으면 앞 문자라고 판단했다. 그 외에 특별히 어려운 점은 없다. 코드 ..
2023.08.03 -
[Programmers] 개인정보 수집 유효기간
https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 이해 자체는 어렵지 않으나 날짜에 대한 처리를 잘 해야 하는 문제이다. 약관 종류와 약관 별 유효기간, 수집한 개인 정보의 수집 일자, 약관 종류, 오늘 날짜가 주어진다. 개인정보 수집 일자와 유효 기간을 더한 값이 오늘보다 더 긴 경우는 아직 유효기간이 지나지 않았으므로 파기하지 않는다. 대신 더 짧은 경우 유효 기간이 지났으므로 파기해야 한다. 이때 파기해야하는 개인정보 번호..
2023.08.02 -
[Programmers] 공원 산책
https://school.programmers.co.kr/learn/courses/30/lessons/172928# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 단순 구현 문제로 주어진 조건대로 구현하면 해결할 수 있다. 특별히 설명할 건 없어 주석으로 처리하였다. 코드 class Solution { public int[] solution(String[] park, String[] routes) { int h = park.length; // 세로 길이 int w = park[0].length(); // 가로 길이 int curRow = -1..
2023.08.02 -
[Baekjoon] 2193번: 이친수
https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 문제 설명 0과 1로만 이루어진수를 이진수라고 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 00101..
2023.05.20 -
[Baekjoon] 9657번: 돌 게임 3
https://www.acmicpc.net/problem/9657 9657번: 돌 게임 3 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 문제 설명 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며 돌은 1개, 3개 또는 4개를 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이긴다. 두 사람이 완벽하게 게임했을 때 이기는 사람을 구하는 프로그램을 작성해라. 게임은 상근이가 먼저 시작한다. 입력 1 C가 1개 -> S가 1개를 가져가서 S가 이긴다. 돌이 6개면 S가 4개 -> C가 1개 -> S가 1개를 가져가서 S가 이긴다. 돌이 7개면 S가 1개 -> C가 4개 -> S가 1개 -> C가 1개를 가져가서 C가 이긴다. 돌..
2023.05.12