https://programmers.co.kr/learn/courses/30/lessons/81303#qna 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 2021 카카오 인턴십 level3 문제. 효율성 테스트가 있는 문제이기 때문에 시간을 줄여야 한다. 다른 사람들과 카카오 테크 블로그를 확인하면 linkedList로 풀었다는데, 나는 k(선택된 행 번호)만 이용해서 이리저리 굴려서 완성했다. 마지막 StringBuilder 쓴 것과 table size ..
https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 문제의 설명이 많은 것 치고 쉬웠던 문제. 스택을 이용해 풀면 간단하게 해결 가능하다! 뽑은 자리의 배열은 0으로 변경해주는 것 잊지말자. 그리고 bucket이 비어있는지 확인할 때 empty를 사용하면 좋다! 나는 bucket.size()를 이용해 풀려다가 = 하나 안넣는 바람에 테스트케이스 1, 2번을 통과하지 못했다. bucket.size() >= 1 혹은 > 0 이렇게 해도 좋다...
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 오늘 푼 문제중에 가장 복잡한 문제. 그래도 쉬웠다. 각 키패드 별로 해당하는 좌표를 맵으로 저장해 풀었다. 이차원 배열로 그냥 풀수도 있었을까, 싶긴 한데 숫자를 통해 좌표를 알아야 하기 때문에 나는 이 방식이 편했다. *과 #은 임의로 10, 11번..
https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 이것도 굉장히 쉬운 문제였는데 작은 실수로 시간을 20분은 더 쓴 것 같다. 실수만 안한다면 금방 해결하는 문제! 숫자도 0, 1, 2 ... 해서 배열로 넣어두는 풀이도 봤는데 index i 를 가지고 문자열로만 바꿔주면 간단하다. public class 숫자_문자열과_영단어 { public static int solution(String s) { ..
https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 두가지 방식으로 풀었다. 첫번째는 if문을 잔뜩 사용했고, 두번째는 정규식을 사용해 깔끔하게 풀었다. 이 기회를 통해 정규식을 어떻게 사용하는지 조금이나마 알 수 있었다. if문 사용 풀이 public class recommend_id { public static String solution(String new_id) { String answer; ans..
https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 푼 문제중에 가장 쉽고 직관적이었던 문제! 쉬웠던 것에 비해 코드가 좀 길어지긴 했지만 별문제 없이 테케를 통과할 수 있었다. 최고 순위는 지워진 숫자 개수, 즉 0의 개수가 다 맞았다고 치면 되고, 최저 순위는 모두 틀렸다고 치면 된다. public class lotto { public int[] solution(..
https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 효율성 문제로 꽤나 오래 걸린 문제. level 1 문제지만 처리하는데 조금 어려움이 있었다! 맵을 사용해서 처리하고, for문을 총 네번만 돌리는 것으로 했더니 모든 테스트 케이스를 통과할 수 있었다. 피신고인 - 신고인리스트 형식으로 맵을 만드는 것이 핵심인듯! class 신고_결과_받기 { public int[] solution(String[] id..
https://programmers.co.kr/learn/courses/30/lessons/12952?language=java 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 알고리즘 수업에서 배웠던 백트래킹 알고리즘의 기본 문제 N-Queen. 간만에 한 거라 기억이 잘 나지 않아 블로그를 참고해서 풀었다. 기존에 하던 방식이라 그런지 이해하는데 큰 어려움은 없었다. 대각선 확인하는 방법이 신박했다! 그리고 2차원 배열이 아니라 1차원 배열을 이용한 방식도. 훨씬 간단하고 편리한 방법이다! c..