본문 바로가기

Algorithm/Programmers

(22)
[Programmers] 위클리 챌린지 10 교점에 별 만들기 안녕하세요. 이번 포스팅에서는 위클리 챌린지 10, 교점에 별 만들기 문제를 풀어보도록 하겠습니다. 해당 문제는 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, - progr..
[Programmers] 괄호 회전하기 안녕하세요. 이번 포스팅에서는 괄호 회전하기 문제를 풀어보도록 하겠습니다. 해당 문제는 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 위 링크를 통해 확인하실 수 있습니다. c++에 rotate라는 유용한 함수가 있습니다. 배열의 값을 하나씩 뒤로 미룰 수 있는 기능을 제공합니다. 이 rotate함수를 사용하여, 배열의 첫 원소를 맨 뒤로 미뤄가면서 현재 문자열이 올바른 괄호 열인지 아닌지 판단해주었습니다. 올바른 괄호열 판단에는 stack 자료구조를 사용하였습니다. 1. '(', '{', '['의 문자열이면, stack에 push를 합니다. 2. ')', '}', ']'이면 2.1)..
[Programmers] [3차] 파일명 정렬 안녕하세요. 이번 포스팅에서는 Programmers 3차 파일명 정렬 문제를 풀어보도록 하겠습니다. 해당 문제는 https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 위 링크에서 확인하실 수 있습니다. 문자열 파싱&정렬 문제입니다. Struct File을 하나 정의해서, originalName, head, number, idx를 저장해주었습니다. originalName은 정답을 위해, head, numb..
[Programmers] 위클리 챌린지 9 (+ 위클리 챌린지 8) 안녕하세요. 이번 포스팅에서는 위클리 챌린지 9 전력망을 둘로 나누기 문제를 풀어보도록 하겠습니다. 해당 문제는 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 위 링크에서 확인하실 수 있습니다. 위클리 챌린지 문제가 퀄리티가 좀 떨어지는 듯한 느낌을 받아서... 매주 월요일마다 안 챙겨서 풀었는데, 마침 이번 주에 네이버 코딩 테스트가 실시될 예정이어서 다시 코테 감좀 살릴 겸 풀어보았습니다. 해당 문제는 트리구조가 보장되..
[Programmers] 행렬 테두리 회전하기 안녕하세요. 이번 포스팅에서는 Programmers 행렬 테두리 회전하기 문제를 풀어보도록 하겠습니다. 해당 문제는 https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 위 링크에서 확인하실 수 있습니다. 문제의 특별한 제한은 딱히 없고, 단순 구현으로 해결하시면 됩니다. 저의 경우 1. vector v를 선언하여 시계방향으로 원소를 담아주었습니다. 2. v를 rotate 함수를 활용하여 한 칸씩..
[Programmers] 모두 0으로 만들기 안녕하세요. 이번 포스팅에서는 프로그래머스 모두 0으로 만들기라는 문제를 풀어보도록 하겠습니다. 해당 문제는 https://programmers.co.kr/learn/courses/30/lessons/76503 코딩테스트 연습 - 모두 0으로 만들기 각 점에 가중치가 부여된 트리가 주어집니다. 당신은 다음 연산을 통하여, 이 트리의 모든 점들의 가중치를 0으로 만들고자 합니다. 임의의 연결된 두 점을 골라서 한쪽은 1 증가시키고, 다른 한 programmers.co.kr 위 링크에서 확인하실 수 있습니다. 이 문제를 해결하는데, 중요한 키는 트리 구조라는 것입니다. root를 아무 노드나 설정하셔서, 트리를 탐색하시면서 문제의 요구사항을 구현하는 것이 중요합니다. 예시를 자세히 보시면, 결국 루트로부터 ..
[Programmers] 튜플 안녕하세요. 이번 포스팅에서는 Programmers 튜플 문제를 해결해보도록 하겠습니다. 해당 문제는 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 위 링크에서 확인하실 수 있습니다. 문자열 단순 구현 문제입니다. 문제의 요구조건을 다음의 과정을 통해 해결하였습니다. "{{1,2,3},{2,1},{1,2,4,3},{2}}" 이러한 입력이 주어졌을 때 두 번..
[Programmers] 위클리 챌린지 7 안녕하세요. 이번 포스팅에서는 위클리 챌린지 7 입실 퇴실에 대한 포스팅을 진행해 보겠습니다. https://programmers.co.kr/learn/courses/30/lessons/86048 코딩테스트 연습 - 7주차 사회적 거리두기를 위해 회의실에 출입할 때 명부에 이름을 적어야 합니다. 입실과 퇴실이 동시에 이뤄지는 경우는 없으며, 입실 시각과 퇴실 시각은 따로 기록하지 않습니다. 오늘 회의실에는 programmers.co.kr 해당 문제는 위 링크에서 확인하실 수 있습니다. 생각보다 처음 조건을 찾는 것에 애를 먹은 문제입니다. enter : [1, 3, 2] leave : [1, 2, 3] 위의 예시를 한번 살펴보면, 3이 2보다 먼저 들어왔고, 2보다 늦게 나갔기 때문에 2와 3은 필연적으..