[JavaScript/프로그래머스] 연습문제 - 카드 뭉치
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(cards1, cards2, goal) { let answer = "Yes"; // 여기에 이전 사용한 카드 뭉치 명 저장 let lastCards = "cards2"; // 여기에 만들어지는 문장 저장 let sentence = []; // 각각의 카드들에서 하나씩 빼가면서 0번째 자리에 들어갈 수 있는 지 확인하는 로직 goal.forEach((g) => { if (g === cards1[0] && cards1) { sentence.push(ca..
[JavaScript/프로그래머스] 연습문제 - 최댓값과 최솟값
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(s) { let answer = ''; s = s.split(" "); answer = `${Math.min(...s)} ${Math.max(...s)}`; return answer; } 로직 설명 주어진 숫자들이 들어있는 문자열 s를 공백을 기준으로 나눕니다. 템플릿 리터럴을 이용하여 간결하게 문자열 내에 최솟값과 최댓값을 배치합니다. 정답을 반환합니다. 1차 개선 - 한 줄 코드 만들기 불필요한 선언과 리턴을 줄여 한 줄 코드로 만든 결과물 입니다..
[JavaScript/프로그래머스] Dev-Matching: 웹 백엔드 개발자(상반기) - 로또의 최고 순위와 최저 순위
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(lottos, win_nums) { let answer = []; let sameNumCount = 0; let zeroCount = 0; // lottos와 win_nums를 크기순으로 정렬 // 우선 이 둘의 같은 숫자의 개수와 0의 개수를 따로 저장 // 같은 숫자의 개수는 최저 점수가 될 것이고, 같은 숫자 + 0의 개수를 더한 순위는 최고 점수가 될 것 lottos.forEach((l) => { if (win_nums.includes(l)) ..
[JavaScript/프로그래머스] 연습문제 - 명예의 전당 (1)
·
Coding Test/Programmers_JavaScript
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 정답 코드 function solution(k, score) { let lowList = []; let nowList = []; for (let i = 0; i Math.min(a, b))); nowList.sort((a, b) => a - b); } else { if (score[i] > nowL..
BaekJoon - 1012번: 유기농 배추 (그래프, 탐색)
·
Coding Test/BaekJoon_Python
DFS 문제를 통해 여러 시행착오를 거칠 필요가 있다고 생각했던 나는 한 문제를 더 찾아서 풀기 시작했고, 재귀 함수를 이용했기에 발생했던 런타임 에러가 발생했다 해결법도 찾았고, 그 방법까지 해서 이번 글에 포스팅하려고 한다 문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 분석 이 문제는 DFS를 이용하여 블록단위 탐색을 이용하면 되지만 몇 가지 유의사항이 존재한다 그래프 형태로 존재하는 것이 아닌 좌표단위로 존재하는 것 -> 가상의 그래프 맵을 만든다 배추밭이 굉장히 넓어졌을 때 재귀를 이용할 경우 깊이의 ..
BaekJoon - 2667번: 단지번호붙이기 (그래프, 탐색)
·
Coding Test/BaekJoon_Python
SM 마에스트로 준비가 한창인 와중, DFS에 대해 자신감이 생겼다 싶어서 도전 해 본 문제이다 한 번에 맞춰 기분이 좋은 문제였다 문제 문제 분석 이 문제는 DFS를 이용해서 풀 수 있다. 재귀적인 방법을 통해 하나를 발견하면 상, 하, 좌, 우로 이동하며 재탐색을 하는 과정을 거친다 그리고 DFS 한 번 실행될 때마다 단지 하나가 1 -> 0으로 바뀌므로 그 타이밍에 count + 1 하는 방법을 생각했다 후에 한 DFS 사이클이 끝날 때마다 count를 초기화시키는 방법으로 단지 별 건물 수를 세었다 코드 작성 N = int(input()) house = [] for i in range(N): house.append(list(map(int, input()))) # 단지의 건물 개수를 담을 변수 co..