본문 바로가기

algorithm/programmers6

프로그래머스 위클리 챌린지10주차 교점에 별 만들기 1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/87377 코딩테스트 연습 - 10주차 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 2. 풀이 직선은 서로 평행하거나 일치하거나 한 점에서 만난다. 이 3가지.. 2021. 10. 13.
프로그래머스 위클리 챌린지4주차 직업군 추천하기 1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/84325 코딩테스트 연습 - 4주차_직업군 추천하기 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 2. 풀이 로 map을 만든다. Table을 하나하나 읽으면서 빈칸을 기준으로 string을 파싱 하고 map을 조회해 선호도 점수를 얻으며 직종 별 점수를 계산한다. 계산이 끝나면 최대 점수를 업데이트 하고 이때 직종도 같이 업데이트해 준다. (점수가 같을 시 사전순으로 앞에 있는 것을 출력하기 위해 처음에 table을 정렬해 .. 2021. 10. 6.
프로그래머스 위클리 챌린지9주차 전력망을 둘로 나누기 1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 9주차 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr 2. 풀이 정점의 개수가 n개인 트리에서 간선 하나를 제거했을 때 2개의 트리로 분리되는데, 이때 분리된 2개의 트리의 정점 수의 차이의 최솟값을 구하는 문제이다. 단순히 모든 간선을 한번씩 제거해 가면서, 각각의 경우에 BFS로 2개의 분리된 트리의 정점 수를 카운트하는 방식으로 해결했다. 위 방식은 O(n^2)인데, n의 최대가 100이기 때문에 가능했다. .. 2021. 10. 6.
2021 카카오 채용연계형 인턴십표 편집 1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 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 0 ~ n-1까지의 n개의 원소를 가진 표에 대해 편집을 하는 문제이다. 편집 명령어는 아래와 같다. "U X" : 위로 X만큼 이동 "D X" : 아래로 X만큼 이동 "C" : 지금 있는 위치의 원소 삭제 "Z" : 가장 최근에 삭제했던 원소 복원 처음 접근했던 방식은, 아래와 같았다. 길이 n.. 2021. 9. 30.