목록전체 글 (221)
우당탕탕 개발일지
💡문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/161990💡문제 분석 요약간단하게 x좌표의 최솟값&최댓값, y좌표의 최솟값&최댓값 구하는 문제 💡알고리즘 설계for문을 이용해 하나하나 탐색하면서 x좌표의 최솟값&최댓값, y좌표의 최솟값&최댓값을 찾는다. 💡코드def solution(wallpaper): grid = [] # grid 표시 for w in wallpaper: grid.append([1 if a == "#" else 0 for a in w ]) # S, E 찾기 xl = len(grid) yl = len(grid[0]) x_min, x_max, y_min, y_max ..

💡문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 💡문제 분석 요약직사각형 여러 개를 겹처서 경로를 만든다. 전체 직사각형의 테두리만 이동 가능하다.정해진 출발점에서 끝점까지 이동하는 경로의 길이를 구하는 문제 💡알고리즘 설계1. 경로 설정하기: 모든 직사각형의 테두리를 1로 설정한다. 그 후 모든 직사각형의 내부를 0으로 설정한다. 그러면 A직사각형의 테두리이지만 B직사각형의 내부인 경우 0으로 처리된다.2. 최단거리로 이동하기: BFS 알고리즘을 사용한다. dx, dy ..
💡문제 링크 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 💡문제 분석 요약단어 변환 연산 규칙 두 가지1. 한 번에 하나의 알파벳만 바꿀 수 있음2. words에 있는 단어들로만 바꿀 수 있음이 규칙을 이용해서 begin 단어를 target 단어로 최소 몇 단계의 과정을 거쳐 변환할 수 있는지 구하기 💡알고리즘 설계각 단어가 노드라고 생각하고, 그래프 탐색으로 풀어야겠다고 생각했다.각 노드를 방문할 때마다 상태정보(몇 단계인지)도 기억해야하기 때문에 BFS 알고리즘을 선택했다. 큐 자료구조를 이용하기 때문에 단계별로 탐색할 수 있고, 특정 노드에 도착했을 때 그 경로가 최단 경로임을 보장한다...

💡문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/154538?language=python3# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 💡문제 분석 요약자연수 x를 자연수 y로 변환하는 문제. 변환하는 방법은 단 세가지이다. 참고로 n은 y보다 작은 자연수이다.1. x + n2. x * 23. x * 3자연수 x, y, n에 대해 x를 y로 변환하기 필요한 최소 연산 횟수를 반환하는 문제 💡알고리즘 설계모든 가능한 경우의 수를 단계별로 탐색하는 BFS를 이용한다. 가장 먼저 도달한 경로가 최소 변환 횟수를 보장한다.큐에는 (ㅣ,..

절대적 시간이 부족해서 점심시간에 PC방에서 코딩테스트 준비하기 시작..ㅎ__ㅎ 지나고 보면 다 추억이 되겠지 💡문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42898# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 💡문제 분석 요약경로의 개수를 구하는 문제(최단경로 아님 주의)집(1, 1)에서 학교(m, n)까지 가는 길, 지도는 m x n 크기의 격자모양(m이 열 n이 행)이동의 조건은 단 두가지이다.1. 오른쪽과 아래쪽으로만 움직인다2. 물에 잠긴 곳은 이동 불가능 💡알고리즘 설계1. 일단 m x n 격자모양을 보고 2차원..
💡문제 링크 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 💡문제 분석 요약이진 변환1. 모든 0을 제거2. 문자열의 길이를 2진법으로 표현 후 문자열로 바꿈이진 변화를 "1"이 될 때까지 계속 반복이진 변환 횟수와 변환 과정에서 제거된 0의 개수를 배열에 담아 return하는 문제 💡알고리즘 설계이진 변환 횟수와 변환 과정에서 제거된 0의 개수를 각각 cnt, z = 0, 0으로 초기화한다.s가 "1"이 아닌동안 이진 변환을 반복한다.이진 변환을 반복하면서 cnt 변수를 1씩 증가시킨다.이진 변환을 반복하면서 0의 개수만큼 z 변수를 증가시킨다. 💡코드def solution(s): cn..