본문 바로가기

CS/알고리즘 풀이

[ 프로그래머스 ] 같은 숫자는 싫어 ( java ) [ 프로그래머스 ] 같은 숫자는 싫어 ( 자바 ) 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. ex) arr = [1, 1, 3, 3, 0, 1, 1] -> [1, 3, 0, 1] 리턴 https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 | 프로그래머스 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 .. 더보기
[ 프로그래머스 ] 문자열 내 마음대로 정렬하기 ( java ) [ 프로그래머스 ] 문자열 내 마음대로 정렬하기 ( 자바 ) 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. https://programme.. 더보기
[ 백준 17837 ] 새로운 게임 2 (java) [ 백준 17837 ] 새로운 게임 2 (자바) https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색, 빨간색, 파란색 중 하나로 색칠되어있다. 게임은 체스판 위에 말 K개를 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 위, 아래, 왼쪽, 오른쪽 www.acmicpc.net 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다.. 더보기
[ 프로그래머스 ] 체육복 ( java ) [ 프로그래머스 ] 체육복 ( 자바 ) n명의 학생 중 체육복을 1개 더 있거나(reserve배열) 또는 없는(lost배열)학생이 있다. 체육복이 없는 학생이 최대한 여벌이 있는 학생한테 빌렸을때 체육복이 있는 학생의 최대값구하기 단, 학생이 잃어버렸지만 여벌이 있는 경우도 있다. https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 | 프로그래머스 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 .. 더보기
[ 프로그래머스 ] 모의고사 ( java ) [ 프로그래머스 ] 모의고사 ( 자바 ) 3명의 학생이 시험에서 어떤 답을 규칙에 따라 찍는다. 정답 배열이 주어졌을때 가장 많이 맞춘 학생(들) 배열을 리턴하기 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 | 프로그래머스 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3.. 더보기
[ 프로그래머스 ] 완주하지 못한 선수 ( java ) 출처: 프로그래머스 연습문제 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 partic programmers.co.kr 프로그래머스 완주하지 못한 선수 (.. 더보기
[ 프로그래머스- 2020카카오 공채 ] 문자열 압축 (java) 프로그래머스 2020 카카오 공채 문자열 압축 (자바) 문자열 s에서 연속으로 반복해서 나타나는 구간을 압축하는데, 가장 많이 압축했을 때 길이 구하기 aaaccc -> 3a3c (단위1) aabbaccc -> aabba3c (단위1) https://tech.kakao.com/2019/10/02/kakao-blind-recruitment-2020-round1/ 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설 올해에도 2020이라는 멋진 숫자와 함께, 카카오의 신입 개발자 채용을 시작했습니다! 그 여정 중 첫 단계로 1차 코딩 테스트가 지난 9월 7일 토요일 오후 2시부터 오후 7시까지 5시간 동안 진행됐는데요. 저희 준비위원들도 설렘과 긴장 속에 원활한 진행을 위해 노력했고, 무사히 1차.. 더보기
[ 백준 14503 ] 로봇청소기 (java) [ 백준 14503 ] 로봇청소기 (자바) https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음 www.acmicpc.net 핵심 1 시뮬레이션 (+메모이제이션) / bfs 문제 시뮬이나 bfs 문제 특징은 조건.. 더보기