코딩 테스트
[프로그래머스][Level2][JAVA] 방금 그 곡
[문제 설명] https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr [풀이 과정] 꽤나 많이 삽질하고 해맨 문제다. 여기저기 다른 코드들을 참고하여 풀었다. 문제를 풀면서 포인트라고 생각한 부분들에 대해서 정리를 하겠다. 문제 조건에 다음과 같은 항목이 있다. 1. " 조건이 일치하는 음악이 여러 개일 때에는 라디오에서 재생된 시간이 제일 긴 음악 제목을 반환한다. 재생된 시간도 같을 경우 먼저 입력된..
[JAVA] 10진수 n진수로 변환하기
10진수를 2진수로 변환하는 방법은 많이 알고들 있을 것이다. 10진수를 계속해서 2로 나누다가 몫이 0이 되면 그동안 나왔던 나머지들을 역순으로 나열하면 된다. 예를 들어 16을 2진수로 변환하는 방법은 다음과 같으며 2진수로 변환한 값은 10000(2)다. 그럼 8진수, 16진수 등 N진수들은 ? 방법은 똑같다. 대신 2진수는 계속 2로 나눠주었다면, n진수는 n으로 계속 나눠주면 된다. 1. 10진수 --> 8진수 10진수 126를 8진수로 변환해보자. 처음 126을 8로 나눈 몫은 15, 나머지는 6이다. 그 다음 위에서 나온 몫 15를 다시 8로 나누면 나머지가 7이고 몫이 0일때 나머지는 역순으로 나열한 176(8)이 126을 8진수로 변환한 값이다. ∴ 126(10) --> 176(8) 2...
[프로그래머스][Level2] 압축 - JAVA
[문제 설명] https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr [풀이 과정] 특별한 알고리즘을 이용하기보다는 그냥 문제에 주어진 규칙을 따라가며 풀었다. 단어가 사전에 들어가는 규칙이 있는데, 만약 "KAO" 라는 단어가 사전에 들어간다고 하면, "K" 와 "KA" 는 이미 사전에 존재한다. 때문에 "K"부터 뒤에 한 단어씩 늘리면서 사전에 있는지 탐색하다가 사전에 없는 단어 S까지 도달하면 아래 작업을 하면 된다. 1. 단어 S를..
[JAVA] 문자열이 영어로만 이루어져 있는지 판별하기(Pattern.mathces())
문자열이 알파벳으로만 이루어져있는지 확인할 때 사용한다. 숫자, 한글, 특수문자 등이 한글자라도 섞여있으면 false를 반환한다. import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String s1 = "chocholog"; System.out.println(Pattern.matches("^[a-zA-Z]*$", s1)); String s2 = "chocho_log"; System.out.println(Pattern.matches("^[a-zA-Z]*$", s2)); } // true false
[JAVA] 아스키(ASCII) 코드 값 구하기
코딩 테스트 연습을 하다보면 종종 아스키 코드 값을 이용하는 경우가 생긴다. 실무에서는 써본적이 없어서 잘 모르겠다. 필요 할 때마다 매번 구글링을 하니 귀찮고 완전히 내것이 되는 것 같지가 않다. 그래서 이번엔 JAVA로 아스키 코드 구하는 법을 정리해보려고 한다. 아스키 코드표 1. 문자 --> 아스키 코드 public static void main(String[] args) { // 문자 --> 아스키 코드 char c = 'A'; System.out.println((int)c); boolean isSame = c==65 ? true : false; System.out.println(isSame); } // 65 true 2. 아스키 코드 --> 문자 public static void main(St..
[프로그래머스][Level2][JAVA] 영어 끝말잇기
[문제 설명] https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0] programmers.co.kr [풀이 과정] 풀이시간 : 22:35 ~ 23:35 (딱 한시간) (길다 길어...줄여라 시간..) 끝말잇기에서 탈락하는 경우는 3가지다. 1. 한 글자인 ..