본문 바로가기

java17

[ 백준 1904 ] 01타일 ( Java ) 문제 링크 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 문제 풀이 점화식 문제이고, 동적 프로그래밍 방법을 알면 쉽게 풀 수 있는 문제입니다. 차근차근 a1부터 써보면 값을 예측할 수 있습니다. a1 = 1; a2 = 2; a3 = a1 + a2 = 3; a4 = a2 + a3 = 5; ... 어떻게 이렇게 나오게 되는지 알아보겠습니다. 예를들어 a5의 경우를 보겠습니다. 1. a5는 맨 앞에 00이 오거나 1이 오게 됩니다. 2-1. 00이 오.. 2020. 12. 15.
[프로그래머스/Java] 문자열 압축 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문제 풀이 저는 스택을 이용하여 풀었습니다. 전체적인 프로세스는 이렇습니다. 1. 1부터 입력으로 들어온 String의 크기까지 잘라 Stack에 넣는다. 2. 스택에서 꺼낸다. 2-1) 스택에서 꺼낸 값이 문자열일 경우 반복된 횟수 num 변수에 1을 넣는다. 2-2) 스택에서 꺼낸 값이 숫자일 경우 반복된 횟수 num 변수에 넣는다. 다시 스.. 2020. 12. 14.
[프로그래머스/Java] 괄호 변환 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴 programmers.co.kr 문제 풀이 카카오 코딩 테스트로 나왔던 문제죠. 일반적으로 스택 연습문제로 많이 나오는 괄호 문제와 재귀를 많이 풀어보셨다면 무리 없이 금방 풀 수 있는 문제입니다. 이 문제는 요구사항을 그대로 구현하면 되는 문제입니다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, .. 2020. 12. 11.
[프로그래머스/Java] 문자열 내 마음대로 정렬하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr 문제 풀이 간단한 문제지만 Comparator를 이용하여 정렬해 풀어보았다. 소스 코드 import java.util.*; class Comp implements Comparator{ int n; public Comp(int n) { this.n = n; } public int compar.. 2020. 12. 9.
[프로그래머스/Java] 모의고사 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제 풀이 주어진 배열을 1번 수포자, 2번 수포자, 3번 수포자 경우를 모두 돌리는 완전 탐색 문제입니다. 각 수포자가 찍는 방식을 배열로 만들고, 정답과 비교하며 수포자가 찍은 정답과 일치하면 맞춘 개수를 증가시킵니다. 제일 많이 맞춘사람들을 리턴해야 하므로 max값을 가진 점수를 가진 수포자 개수를 세어 그 크기의 정답 배열을 생성하고, max값.. 2020. 12. 8.
[프로그래머스 / Java] 키패드 누르기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 풀이 간단한 시뮬레이션 문제로 보인다. 다음과 같은 순서로 풀었다. 위치를 표현해주는 클래스를 생성한다. 각 숫자에 해당하는 위치를 가진 position배열을 생성해준다. 각 숫자에 맞게 위치를 배열에 집어넣는다. 왼쪽 손의 위치를 가진.. 2020. 12. 4.