Algorithm

Algorithm

[프로그래머스] 안전지대

description 1) 정사각형 모양의 2차원 배열이 주어지고, 폭탄이 있는 곳엔 1, 그 외엔 0 2) 폭탄이 있는 곳을 기준으로 사각형 테두리 칸들은 위험지대 3) 폭탄 + 위험지대를 제외한 안전지대의 칸 수? 풀이 0) 단순하게 접근했다, 일단 풀고 봐야지하는 마음에... 1) forEach를 중첩하여 사용해서 하나씩 확인 후, 1이 있으면 그 테두리들을 -1로 변경 2) 1을 진행하며 외곽라인(예외처리)들을 체크해주면서 진행, 그리고 1인 것들은 그대로 1로 둠 3) 마지막에 다시 forEach를 중첩하여 0들을 체크 정답을 제출한 뒤에, 어떤 다른 풀이가 있을까? 어떻게 간결하게 짤 수 있을까?하는 생각에 다른 분들의 코드를 확인해보았다. 위 코드를 분석해보자 ** 먼저 낯선 some과 fo..

Algorithm

[프로그래머스] 평행

description 1) 총 네개의 (x,y)쌍이 주어짐 2) 그 중 두점을 이어 평행이 있으면 return 1; 아니면 return 0; 풀이 0) 고민할 거 없이 너무 간단한 문제 1) 무조건 4개의 쌍이 주어지니, 확통의 추억을 되살려 계산하면 => (4C2 * 2C2)/2 => 3경우밖에 없음 a) 01/23 || 02/13 || 03/12 3) 평행인지 보는 건 기울기 비교니까, 연산해서 그냥 같으면 됨 라고 생각했지만, 아차차.....반복되는 부분을 함수로 빼야하는데....나중에 다른 사람의 풀이를 보고 반성했다... 어차피 던져주는 건 01/23 || 02/13 || 03/12이고, 기울기는 똑같이 x1-x2 / y1-y2가 반복되는데....이걸 함수로 뺄 수 있었는데 너무 쉽다고 그냥 짜..

Algorithm

[프로그래머스] 옹알이(0)

description 1) 아기는 "aya", "ye", "woo", "ma" 네가지 발음만 가능 2) 그래서 최대 한번식 사용해 조합한 발음밖에 하지 못함 3) 문자열 배열이 매개변수로 주어질 때, 아기가 발음 가능한 단어의 수 풀이 0) 문자열이 발음가능한지 아닌지 표시하는 flag 설정 (초기 false) 1) a로 시작하면 aya, y로 시작하면 ye, w로 시작하면 woo, m으로 시작하면 ma만 가능 a) 문자열을 받아, 첫글자를 비교해 4글자 중 하나인지 확인 b) 4글자 중 하나면 문자열 중 몇개를 검사완료했는지 인덱스를 뛰어 넘을 개수 반환 c) 4개 중 아무것도 아니면 0 2) 1에서 반환받은 수(가능한 문자열 길이)를 가지고 비교 a) 반환수 === 남은 문자열 길이 => 가능하므로 ..

Algorithm

Codingbat - Java] String-3 - maxBlock

문제 description Given n>=0, create an array length n*n with the following pattern, shown here for n=3 : {0, 0, 1, 0, 2, 1, 3, 2, 1} (spaces added to show the 3 groups). squareUp(3) → [0, 0, 1, 0, 2, 1, 3, 2, 1] squareUp(2) → [0, 1, 2, 1] squareUp(4) → [0, 0, 0, 1, 0, 0, 2, 1, 0, 3, 2, 1, 4, 3, 2, 1] 1) 1차원 배열로 n*n 사각형 만들기 2) 뒤에서부터 1씩 증가하는 사각형 풀이 1) 피봇처럼 back, front를 정함 2) back은 큰 반복문이 끝날 때마다 n씩 증..

Algorithm

Codingbat - Java] Logic2 - blackjack

문제 parameter a, b : 0 이상의 두 정수 description Given 2 int values greater than 0, return whichever value is nearest to 21 without going over. Return 0 if they both go over. blackjack(19, 21) → 21 blackjack(21, 19) → 21 blackjack(19, 22) → 19 1) 두 숫자가 21을 넘으면 0반환 2) 21을 넘지 않은 숫자 중, 21에 제일 가까운 숫자 반환 풀이 1) 두 숫자가 21을 넘으면 0을 리턴 2) a만 21을 넘으면 b를 리턴 3) b만 21을 넘으면 a를 리턴 4) 21에서 a와 b를 빼서 차이가 작은 값을 리턴 Show So..

Algorithm

Codingbat-Java] Warmup2 - arrayCount9

문제 parameter nums : 숫자 배열 description Given an array of ints, return the number of 9's in the array. arrayCount9([1, 2, 9]) → 1 arrayCount9([1, 9, 9]) → 2 arrayCount9([1, 9, 9, 3, 9]) → 3 풀이 1) 받아온 array에서 하나씩 꺼내 숫자를 비교 2) 숫자가 9면 count++ Show Solution 풀이과정이 너무 똑같다.... 추가 스터디 정리 1. length, length(), size()의 차이 참고 자료 : https://mine-it-record.tistory.com/126 [JAVA] 자바_ length / length() / size() 사용..

hololo
'Algorithm' 카테고리의 글 목록