알고리즘/프로그래머스 (43) 썸네일형 리스트형 [프로그래머스]Lv2. 행렬 테두리 회전하기(Python) https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 구하려는 것은 각 회전들이 일어난 후에 그 회전에 의해 위치가 바뀐 숫자들 중 가장 작은 숫자들을 순서대로 배열에 담는 것이다. 하지만 이를 구하기 전에는 우선 회전을 제대로 시켜야한다. 접근은 하였으나 너무 시간이 오바된 것 같아 멈추었다.(코드1까지 작성 완) (첫 시도) 1. 우선 배열을 (rows+1) * (columns+1)만큼 선언한 후에 다 0으로 만든 후 (1, 1)에서 .. [프로그래머스]Lv1. 바탕화면 정리(Python) https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 솔직히 그림 하나만 그려봐도 바로 풀 수 있는 쉬운 문제.. 하지만 난 30분 걸림^^ 생각의 흐름 1. wallpaper은 일차원 배열이므로 이를 문자로 분리해서 graph라는 이차원 배열에 저장 2. 각 #의 위치를 저장할 빈 리스트 할당 후 graph의 인덱스 i, j로 표현하면 location[i][j] => i는 행, j는 열 3. 교차하는 선을 쫙쫙 그어보면, 가장 작은 [.. [프로그래머스]Lv2. 문자열 압축(Python) https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 이전에 답을 보고 작성했지만 직접 손으로 써보지 않아 애매하게 이해하고 끝낸 문항.. 이번엔 제대로 끝내자!! 문제..!! 1. 사실 문자열을 자르는 범위가 1부터 시작인 건 쉽게 알 수 있지만 최대를 구하는 것이 문제였다. 2. aaabbb를 생각하면 1개 단위로 자르면 3a3b(=4), 3개 단위로 자르면 aaabbb(=6)이므로 큰 단위로 압축한다고 해서 더 짧은 문자열은 아니다... [프로그래머스]Lv3. 표현 가능한 이진트리(Python) https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이해 처음에 문제 이해에 다소 어려움을 겪었지만 이진트리를 그려보고 중위순회(L->루트->R)로 노드가 존재하면 1 존재하지 않으면 0 이렇게 읽은 후 이진수로 나열한 후 십진수로 변환하면 해당 숫자를 알아낼 수 있다. 만약 이진트리로 해당 숫자를 나타낼 수 있으면 1을 리턴, 그렇지 않으면 0을 리턴 7 => 111 42 => 0101010 3 => 11 => 011 (O) 5 => 10.. [프로그래머스]Lv2. 혼자 하는 틱택토(Python) https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 정상적이거나 비정상적인 경우를 분리해서 생각하기 힘들었다. 그래서 그냥 그려보고 주어진 테케 3개를 일반화하여 내가 알아낸 부분, 구현할 수 있는 부분(함수)을 먼저 고민해 보았다. 쥐어짜낸 사고의 흐름...정리 이기는 경우(가로3+세로3+대각선2)를 체크하는 함수 만들기 어떤 자료구조를 사용할지 고민 => O와 X를 카운트해서 딕셔너리에 키와 값 형태로 저장 시도 정상/비정상적인 경.. [프로그래머스]Lv1. 가장 많이 받은 선물(Python) https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 우선 조건을 먼저 정리해 보았다. 1. 선물을 주고받은 기록이 있다면 => 주고받은 크기를 비교해 하나를 더 받거나 준다. 2. 선물을 주고받은 기록이 없다면 or 같다면 => 선물 지수를 비교 => 이마저 같으면 주고받지 않음 그리고 어떻게 구현할지 고민해 보았다. 주어진 예시들을 설명하기 위해 마련된 테이블이 2개 1. 두 사람이 주고받은 선물들의 개수를 각각 저장할 2차원 배열 .. [프로그래머스]Lv2. 리코쳇 로봇(Python) https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 BFS로 접근 시도(검색 후 아이디어 얻음) 먼저 게임 보드에서 로봇(R)의 위치를 찾아 큐에 추가하고, 해당 위치에서부터 BFS를 시작! 현재 위치에서 네 방향으로 이동할 수 있는 경우를 찾고, 해당 방향으로 미끄러지며 이동 가능한 위치 탐색 이전에 해당 위치에 도달한 적이 없거나, 이전에 도달한 경우보다 적은 이동 횟수로 도달 가능한 경우에는 큐에 해당 위치를 추가 G에 도착한 경.. [프로그래머스]Lv2. 이모티콘 할인행사(Python) https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 이모티콘 할인 행사의 목표 1. 이모티콘 플러스 서비스 가입자를 최대한 늘리자 2. 이모티콘 판매액을 최대한 늘리자 이모티콘 할인율 미정 => 각 사용자마다 어떤 이모티콘들을 사용할지도 미정 할인율 증가 => 구매 인원 증가 => 구매 비용 증가 => 서비스 가입 증가(목표1) 어떤 알고리즘?..? 완전탐색을 하는 경우 최대 사용자 100명, 최대 이모티콘 7개, 할인율은 4종류 =>.. 이전 1 2 3 4 5 6 다음 목록 더보기