728x90

코딩테스트/프로그래머스 16

프로그래머스 greedy 문제 조이스틱 파이썬 풀이/코드 (LV2..이긴한데 LV2맞나)

문제설명 ㄱ 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 간단히 얘기하자면, 예를들어, AAA라는 문자열이 있으면 이걸 JAZ 라는 주어진 문자열로 바꾼다고 생각하자. 그 과정의 모든 동작을 카운트하는데 시작은 맨 왼쪽 0번째 문자열인데, A를 J까지 바꾸는데 총 9번의 순서가 소요된다. 그리고 이제 왼쪽 문자열(-1째 문자열)로 넘어가는데 한번의 순서가 소요되고 A -> Z까지 갈 때에는 정 순서보다 역순서가 더 빠르니까 역순서로 ..순서를 카운트해서 또 한번을 추가한다. 이렇게 하면..

프로그래머스 네트워크 문제 풀이/코드, 파이썬, BFS! LV3같지 않은 LV3문제

전체 코드가 궁금한 분은 아래 링크 눌러주세요 ㅎㅅㅎ GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 컴터들이 여러개가 있는데.. 연결 돼있는것도있고 안돼있는 것도 있다고 한다. 컴터가 A, B, C가 있을때 A-B연결돼있고 B-C연결돼있으면 이걸 하나의 네트워크라고 보는데..

행렬 테두리 확인하기 풀이/코드 (파이썬) 쉬운데 어렵게 푼 문제 LV2

코드만 궁금한 분은 깃허브 링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 코딩테스트 연습 - 행렬 테두리 회전하기 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, 2, 3 ,4 ,5 ,6 ..이런식으로 증가하는 행렬로 정의된다. 이후 이 안에 있는 ..

프로그래머스 월간 코드 챌린지3 n^2 배열 자르기 파이썬 해설/코드, 살짝 복잡한 구현문제

풀이 코드만 궁금한 분은 깃허브 링크 눌러주세요 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명ㄱㄱ 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr 솔직히 그림이 없으면 문제 이해를 하기가 살짝 어려운데 위 사이트에 들어가면 아주 친절하게 그림으로도 보여준다. 문제 해결 논..

프로그래머스 아이템 줍기 풀이/해설 (파이썬) 간단한 코드! + 잡담

코드만 궁금한 분은 깃허브링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 구현과 달리 문제는 간단하다. 여러개의 직사각형이 겹쳐져있는데 그 바깥쪽 라인만 따라서 한 지점에서 다른지점에서 이동하는데 그 최솟값을 리턴해야한다. 길이 하나로 연결돼있기때문에 경로는 총 두개가 나오고 그 중에 짧은거를 리턴하면 된다. 내가 생각한 문제 해결 논리 1. 그림에서 보면 알겠지만, 사각형들의 테두리가 다른 사각형과 겹치지 않은 경우, 그리고 테두리끼리 겹친 경우에는 합쳐진 도형의 바깥쪽 길로서의 역할을 한다. 그리고 테두리..

프로그래머스 10주차 교점에 별 만들기 풀이/코드 (파이썬)

코드만 궁금한 분은 깃허브링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 문제는 간단하다. ax+by+c = 0 꼴의 방정식을 이루는 a,b,c 쌍들이 주어지고 모든 방정식의 교점을 구해 그 중 정수의 x좌표 y좌표를 갖는 경우에 한해서 * 처리를 하고 나머지 범위는 모두 '.' 을 입력한다. 이 때, 모든 별을 포함하는 가장 작은 직사각형 만큼은 '.'을 찍어야하고, 이 때 위와같이 문자열 리스트를 만들어서 리턴해야한다. 요새 백준만 풀다보니까 리턴하는게 어색했달까 아무튼 문제 해결 논리 1. for문을 통..

프로그래머스 단어 변환 문제 해설/코드 (파이썬), BFS활용문제

코드만 궁금한 분은 깃허브링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 문제 해결 논리 1. 주어진 단어들을 키로 하고 값은 False를 갖는 딕셔너리를 만든다. 2. 입력받은 단어들 중 시작 단어와 문자가 1개만 차이나는 단어를 모두 찾아내서 3. 아까 딕셔너리에서 지금 찾은 단어들의 값을 True로 바꾸고 4. 큐에 넣는데, 이 때 지금 찾은 단어만 넣는게 아니라 지금 몇번째 단계인지를 같이 입력한다. 5. 큐에서 단어를 새로 빼고 2~4를 반복한다. 이 때 아직 한번도 나오지 않은 단어들만 (딕셔너리에..

(파이썬) 프로그래머스 9주차 위클리챌린지, 전력망을 둘로 나누기 해설/풀이/코드 그래프 탐색문제

코드만 궁금한 분은 깃허브링크 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 문제는 읽어보시고, 어.. 간단히 설명하면, 1. 트리가 하나 주어지는데 거기에서 어느 간선 하나를 자른다. 2. 이 때 주어진 트리는 두개의 다른 트리로 나뉘어지는데 3. 두 트리의 노드의 갯수 차이가 최소인 경우를 찾아서 그 차이값을 리턴하면 된다. 다음은 내가 풀이한.. 문제 해결 논리이다. 간단히 얘기하자면 양쪽 노드의 갯수 균형이 적당히 맞는 트리를 만들면서 그 때의 최상단 노드를 찾고 그 노드의 자식노드 중 하나를 잘라내면 된다. 1..

프로그래머스 8주차 위클리 챌린지 최소직사각형 문제 해설/코드 (파이썬)

코드만 궁금한 분은 링크 사실 문제가 이전의 위클리 챌린지 문제들에 비해 다소 쉬운편이라 오늘 해설도 간략하게 쓰려고 한다. 코드 보면 바로 이해될거라서.. 카드를 여러장 받는데, 이 때 모든 카드를 다 포함하는 수 있는 최소 가로-세로의 크기를 구하는 문제이다. 카드는 회전이 가능하기때문에 여러장의 카드의 최소 가로/세로를 구하려면 각 카드의 짧은 부분끼리 비교하고 긴 부분끼리 비교하면 된다. 그렇게 해서 짧은 부분들의 가장 큰 값, 긴 부분들의 가장 큰 값 각각이 답을 만족하는 가로/세로가 된다.

프로그래머스 124 나라의 숫자.. 푸는데.. 앞으로는 수학 쪽 문제를 더 많이 풀어야할 것 같다.

요즘 할게 너무 많기도 하고 조금 골고루? 계속 끌고가면서 해야하는 것들이 있어서 하루에 코딩문제는 딱 하나씩만 풀기로마음을 먹었다. 그리고 프로그래머스 레벨2정도는 풀수있지않을까 싶어서 레벨2 해놓고 그냥 하나를 딱 집었는데 ..잘못 걸렷다. 문제를 딱 봣을 때에는 뭔가 쉬워보여서 금방 규칙찾아서 풀겠거니 했는데 약 한시간 반동안 날 괴롭히고 결국 그냥 다른 사람풀이를 보고 공부겸 풀기로 했다. 근데 남의 코드를 보니까 6줄 7줄;;ㅋㅋㅋㅋ; 생각보다 간단한 규칙이었어서 조금 허무했다. 근데 그만큼 내가 수학문제를 그동안 안풀었다는 뜻이라서.. 앞으로는 수학문제도 적절하게 배분해서 풀려고 노력해야 할 것 같다. 뭔가.. 공배수 공약수 나머지 이런거를 안쓰다버릇하니까 규칙같은것도 다 까먹고 코딩 전반에 ..

728x90