티스토리 자체 광고 신설 오늘도 여느 때와 같이 블로그에 개발 관력 글을 작성하려고 했다. 그런데 블로그관리 창에서 아래와 같은 공지가 보였다. 이미 2월에 공지로 티스토리에 자체적으로 광고를 넣을 수 있다는 것을 밝혔기 때문에, 올 것이 오고야 말았다는 생각이 들어 바로 공지를 클릭해 보았다. https://notice.tistory.com/2646 [안내] 6월부터 티스토리 자체 광고를 신설합니다. 안녕하세요. 티스토리팀입니다. 오는 6월부터 개별 티스토리 본문 내에 티스토리 자체 광고를 신설할 예정입니다. 티스토리 자체 광고를 통한 수익은 안정적인 서비스 환경 제공을 위해 활용될 notice.tistory.com 공지의 내용을 요약하자면 다음과 같다. 1. 23년 6월 중에 티스토리 자체 광고(본문..
문제 https://programmers.co.kr/learn/courses/30/lessons/1832 코딩테스트 연습 - 보행자 천국 3 3 [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 6 3 6 [[0, 2, 0, 0, 0, 2], [0, 0, 2, 0, 1, 0], [1, 0, 0, 2, 2, 0]] 2 programmers.co.kr 풀이 정말 어려웠지만 재밌는 문제였다. 풀이법이 잘 생각나지 않지만 생각만 잘한다면 코드 길이가 매우 짧고 명료하게 해결할 수 있다. 이 문제는 DP를 이용하면 해결할 수 있다. 나는 DP 배열을 다음과 같이 정의했다. DP[0][i][j] = (i,j) 좌표에 세로로 들어오는 경우의 수 DP[1][i][j] = (i, j) 좌표에 가로로 들어오는 ..
문제 https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 풀이 이 문제는 정말 재밌는 문제였다. 문제에 나온대로 그냥 덧셈을 모두 하게 되면 시간초과가 발생할 수 밖에 없다. N*M배열에 K개의 명령이 있을 때 O(KNM)이라는 시간복잡도가 발생하기 때문이다...
문제 https://programmers.co.kr/learn/courses/30/lessons/72413?language=java 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 풀이 이 문제는 접근법만 알면 간단한 문제이다. 예전..
문제 https://programmers.co.kr/learn/courses/30/lessons/72412?language=java HTML 삽입 미리보기할 수 없는 소스
문제 https://programmers.co.kr/learn/courses/30/lessons/72410?language=java 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 풀이 문제에 주어진대로 구현하면 되는 아주 간단한 문제이다. 코드를 보면 충분히 이해할 수 있다. 코드 class Solution { public String solution(String new_id) { // 1단계 String answer = new_id.toLowerCase(); // 2단계 String temp = "..
문제 https://programmers.co.kr/learn/courses/30/lessons/60063?language=java 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 풀이 나는 이 문제를 조금 복잡하게 푼 것 같다. 우선 Robot 클래스를 만들어서 x좌표와 y좌표, 현재 방향(0은 가로 1은 세로), 걸린 시간을 저장하게 만들었다. 참고로 방향이 가로일 때 x, y는 왼쪽 좌표 기준, 세로일 때 x, y는 위쪽 좌표를 기준으로 한 것이다. 이후 탐색은 BFS를 통해서 모든 경우의 수를 따지면 된다. 이때 상하좌우로 움직이는..
문제 https://programmers.co.kr/learn/courses/30/lessons/17686?language=java 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 풀이 이 문제를 자바를 이용해 풀기 위해서는 comparable 인터페이스에 대해 알면 좋다. 나는 File 이라는 class를 만들어 comparable 인터페이스를 implements 하게 하였고, compareTo 함수를 오버라이딩하여 문제에 맞게 정렬할 수 있도록 설정하였다. 자세한 내용은 코드를 참고하면 알 수 ..
문제 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 풀이 간단한 구현 문제이다. 문제에서 하라는대로만 잘 구현하면 되는 어려울게 없는 문제이다. 우선 사전으로 사용할 HashMap를 선언해 'A'부터 'Z'까지 저장한다. 이후 한 글자씩 판단하면서 w와 c를 적절히 찾아서 사전에 추가해주면 된다. 자세한건 코드를 참고하자. 코드 HTML 삽입 미리보기할 수 없는 소스
문제 https://programmers.co.kr/learn/courses/30/lessons/17683?language=java# 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 풀이 문자열 파싱을 잘 하면 어렵지 않게 풀 수 있는 문제다. 아래와 같은 함수들을 작성해서 이용했다. 1. C# -> c, D# - >d 처럼 #이 붙은 문자열을 바꿔주는 함수 2. 12:00, 12:10 -> "10을 반환" 하는 것처럼 문자열에서 시간을 구하는 함수 자세한 내용은 코드를 참고하자. 코드 HTML ..