일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 개발공부
- 엘리스 AI 트랙 5기
- 프론트개발
- 간단한 날씨 웹 만들기
- 자바스크립트 sort()
- 부트캠프
- 코딩부트캠프
- 개발일기
- 엘리스 ai 트랙
- [파이썬 실습] 중급 문제
- 자바스크립트 reduce()
- JavaScript
- leetcode
- reactnativecli
- HTML
- 자바스크립트 split()
- [AI 5기] 연습 문제집
- 자바스크립트 날씨 웹 만들기
- 프론트개발공부
- 코드스테이츠
- 프로그래머스
- 자바스크립트
- 삼항연산자
- 날씨 웹 만들기
- [파이썬 실습] 심화 문제
- 리트코드
- RN 프로젝트
- 엘리스
- 자바스크립트 날씨
- [파이썬 실습] 기초 문제
- Today
- Total
목록알고리즘🅰/프로그래머스 (81)
개발조각

이번 문제는 풀다가 포기하고 질문하기에 도움을 받고 풀었습니다. 다들 천재입니다👍 접근방식 이 문제는 가장 큰 정사각형을 찾는 문제입니다. 2차원 배열에서 1 1 1 1 이렇게 있으면 가로 세로 길이가 2인 정사각형이 있다는 거고 1 1 1 1 1 1 1 1 1 이렇게 있으면 가로 세로 길이가 3인 정사각형이 있다는 겁니다. 테스트 1로 설명을 하자면 board = [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 만약 여기서 길이가 2인 정사각형이 있는지 확인을 하려면 board[row][col] = 1이야 되고 board[row-1][col] board[row][col-1] board[row-1][col-1] 이 다 1..

그나마 소수 문제는 풀기 쉬워서 그나마 빨리 풀었습니다. (이런 문제만 있었으면ㅋㅋㅋ) 접근방법 소수문제는 이전에 몇 개 소개해준 적이 있어요. 이번에도 평소에 소수문제 푸는 방식을 적용하여 풀었습니다. 예를 들어 '17'이면 [1, 7, 17, 71]을 만들고 [1, 7, 17, 71]에서 소수가 몇 개인지 구했습니다. -> 7, 17, 71이 소수임으로 답은 3 좀더 자세한 방법을 설명하자면 '17'로 만들 수 있는 가장 큰 수는 71입니다. 그럼 2 ~ 71 숫자들 중에서 1,7이 있는 숫자를 찾고 그 값이 소수인지를 확인하면 됩니다. 여기서 주의해야 될 점은 11은 '17'로 만들 수 없는 수입니다. 왜냐하면 '17'에는 1이 1개만 있기 때문에 1이 두개가 있는 11은 할 수 없습니다. 이 부분..

이번 문제는 쉽게 풀릴 것 같은데 안 풀려서 질문하기 SOS를 받아 풀었습니다. 접근방법 이 문제는 캐릭터가 처음 걸어본 길의 길을 구하는 문제입니다. 그리고 문제 설명에 좌표평면의 경계를 넘어가는 명령어는 무시한다는 조건이 있습니다. 위에 있는 예제만 따져서 문제를 푼다면 쉽지만 만약 "UDU"일 경우 return값이 1인 경우도 생각해봐야 됩니다. 그래서 생각한 방법은 시작 지점, 도착지점을 다 구하는 방식으로 구하였습니다. 예를 들어, "ULURRDLLU"로 명령했다면 시작 위치, 도착 위치 -> 시작x, 시작y, 도착x, 도착y 0,0,0,1 0,1,-1,1 -1,1,-1,2 -1,2,0,2 0,2,1,2 1,2,1,1 1,1,0,1 0,1,-1,1 -1,1,-1,2 시작 위치, 도착 위치가 같은..

이번 문제는 문제 설명 길이에 비해 너무너무 쉬운 문제라서 바로 풀었습니다. 접근방법 n=5 처음 위치 0 에서 1 칸을 앞으로 점프한 다음 순간이동하면 (현재까지 온 거리 : 1) x 2에 해당하는 위치로 이동할 수 있으므로 위치 2로 이동됩니다. 이때 다시 순간이동하면 (현재까지 온 거리 : 2) x 2 만큼 이동할 수 있으므로 위치 4로 이동합니다. 이때 1 칸을 앞으로 점프하면 도착하므로 건전지 사용량이 2 만큼 듭니다. 0->1 점프 : 건전지 사용량 1 1->2 (현재까지 온 거리 : 1) x 2 순간이동 2->4 (현재까지 온 거리 : 2) x 2 순간이동 4->5 점프 : 건전지 사용량 2 n=6 처음 위치 0 에서 1 칸을 앞으로 점프한 다음 순간이동하면 (현재까지 온 거리 : 1) x ..

이번 문제는 전에 풀다가 포기했었는데 그래도 다시풀어보자해서 풀어보려 하니까 좋은 아이디어가 생각나서 바로 풀었습니다.ㅋㅋㅋ 접근방법 이 문제는 문자열을 1개씩~ ?개씩 압축할 시 가장 짧게 압축된 문자열의 길이를 구하면 됩니다. 그래서 저는 어떻게 구했나면 1 ~? 개씩 압축한 문자열의 길이를 배열에 담아주고 배열에서 값이 가장 작은 값을 추출해주었습니다. 1~? 개씩 압축한다고 했는데 여기서? 는 s.length/2으로 지정을 해주었습니다. 예시) aabbaabb 2a2b2a2b 2aabb -> s.length/2 압축 최종적으로 압축하면 이럴 경우까지만 있을 거라 생각했고, s.length/2 이상의 압축은 s.length와 똑같기 때문에 할 이유가 없다고 판단했습니다. 접근방법을 코드로 작성하면 ..

풀긴 풀었는데 제가 푼 코드는 비효율적인 것 같아서... 해결방안 쓰기가 좀 그렇네요🤣 접근방법 먼저 skill에 있는 문자들의 위치를 먼저 파악했습니다. skill = "CBD", skill_trees = ["BACDE", "CBADF", "AECB", "BDA"] "BACDE" -> [ 2, 0, 3 ] "CBADF" -> [ 0, 1, 3 ] "AECB" -> [ 2, 3, -1 ] "BDA" -> [ -1, 0, 1 ] skill에 있는 문자들의 위치를 가지고 가능한 스킬트리를 구하기 위한 조건으로 skill에 있는 문자들의 위치들에서 -1이 있는지 없는지 부터 구분을 하였습니다. (여기서 -1은 skill의 문자가 없을 경우) -1이 없을 경우는 skill에 있는 문자가 다 있는 경우 입니다. ..

프로그래머스 2단계에서 [3차]~~ 이런 문제들이 몇 개 있는데 이번 문제는 [3차] 문제 중에서 쉬운 편에 속한 것 같아요. 그러나 저는 for문에 break를 안걸어서 몇 시간 동안 헤매고 풀었습니다.(진짜 바보다ㅋㅋㅋ) 문제 설명이 길어서 여기까지만 붙이겠습니다. 접근방법 이번 문제는 규칙성만 잘 파악하시면 쉽게 풀 수 있어요. A~Z를 1~26으로 구성된 사전이 있습니다. ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] 이런 순으로 구성되어 있습니다. 테스트1 예제 'KAKAO'를 보시면 현재 입력(w) : 'K'..

이번 문제는 정규식과 match()메서드 조합할 때 무엇을 반환하는지, sort()메서드에 잘 아시는 분들이면 쉽게 풀었을 것 같습니다. 저는 둘 다 부족해서 질문하기에 도움을 받아 풀었도 또다시 새로운 사실을 깨닫고 신기해하는 중입니다.😄 진짜 알고 있다는 생각했던 메서드에서 이런 기능이 있다니;;; 진짜 제가 많이 부족한가 봐요.😂 접근방법 이 문제는 단순하게 생각하면 정렬 문제입니다. 정렬 문제라는 말은 결국 sort()를 사용해서 풀어야 된다는 말입니다. 이게 단순히 숫자만 정렬하는 문제면 for문을 쓸 수도 있겠지만 숫자, 문자를 다 구분해서 해야 돼서 sort()를 필수로 써야 됩니다. 그러나 단순한 정렬 문제면 정말 쉽겠지만, 정렬 조건이 있습니다. 이 표처럼 파일명을 세 부분으로 나눈 후,..