Phot_o_matic Programming

고정 헤더 영역

글 제목

메뉴 레이어

Phot_o_matic Programming

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기
    • Programming
      • TIL
      • Concept
      • Algorithm
      • Hello, stranger
      • Mindchain
      • Python
      • Vue
      • React
      • Git
      • GraphQL
      • Database
      • Twittler
      • Typescript
    • Photography
      • Olympus
      • Canon
    • IT
    • Daily
      • Yummy

검색 레이어

Phot_o_matic Programming

검색 영역

컨텐츠 검색

Programming/Algorithm

  • Get the Largest Product of Three Numbers - Javascript

    2019.06.14 by 쌩우

  • N-Queens 알고리즘 (N x N 체스판에 N개의 퀸 체스말 놓기)

    2019.06.09 by 쌩우

  • Find NthFibonacci without recursion(반복문을 이용한 n번째 피보나치 수 찾기) - Javascript

    2019.06.09 by 쌩우

  • 124 나라의 숫자 (진법 변환의 원리 이해) - Javascript

    2019.04.25 by 쌩우

  • 이상한 문자 만들기 - Javascript

    2019.04.16 by 쌩우

  • 시저 암호 - Javascript

    2019.04.16 by 쌩우

  • 직사각형 별찍기 - Javascript

    2019.04.10 by 쌩우

Get the Largest Product of Three Numbers - Javascript

해당 toy 문제는, 주어진 숫자의 배열 안에서 세 개의 숫자를 뽑을 때, 세 숫자를 곱한 값이 최대가 되는 경우를 찾아서 반환하는 것이었다. test case로는 다양한 조건이 있었다. 양수로만 구성된 배열 : [2, 11, 13, 7, 13, 3, 11, 5], 양수와 음수가 섞인 배열 : [2, 3, -11, 7, 5, -13], [-31, 41, 34, -37, -17, 29] 음수로만 구성된 배열 : [-5,-4,-3,-2,-1] let head = 0; let tail = 0; array.sort((a, b) => a - b); //이 부분에서, 주어졌던 배열이 크기순으로 정렬된다. 작은 것부터 큰 숫자의 오름차순으로 정렬된다. head = array[0] * array[1] * array[a..

Programming/Algorithm 2019. 6. 14. 19:59

N-Queens 알고리즘 (N x N 체스판에 N개의 퀸 체스말 놓기)

알고리즘 문제 중에서도 유명한 편에 속하는 N-queens 문제에 도달하게 되었다. 주어진 과제는 '어떻게 하면 n개의 여왕 체스말을 n by n 크기 체스판에서 공격 범위 밖에 놓을 수 있을지를 구현하고, 또 각각의 n에 대하여 몇 가지 방법이 가능한지를 구해라'는 것이었다. 처음 과제를 접했을 땐, 마냥 모든 경우의 수를 구할 수 있도록 n제곱번을 하면 되려나 싶었는데, n개의 말에 대한 모든 경우를 구해야하니 실제로는 어마어마한 경우의 수를 보아야만 하는 것이었다. 가상의 체스판은 행렬의 형태로서 이중 배열을 가지게 하여 구상할 수 있었다. 퀸은 가로, 세로, 대각선 모두가 공격범위이기 때문에, n개의 말을 놓으려면 각 행 또는 열 마다 하나의 퀸이 있어야만 한다. 가장 기본적인 크기..

Programming/Algorithm 2019. 6. 9. 17:00

Find NthFibonacci without recursion(반복문을 이용한 n번째 피보나치 수 찾기) - Javascript

재귀 함수 없이 n번째 피보나치 수를 찾아라! 흔히들 피보나치 수를 찾을 때에 recursion을 이용하여 해당 숫자를 찾는다. 하지만 모든 재귀함수는 모두 반복문으로 구현이 가능하고, 모든 반복문은 모두 재귀함수로 구현이 가능하다고 한다. 그러므로 이번에는 재귀함수의 적용 없이 피보나치 수를 찾아 보았다. /** * A Fibonacci sequence is a list of numbers that begins with 0 and 1, and each * subsequent number is the sum of the previous two. * * For example, the first five Fibonacci numbers are: * * 0 1 1 2 3 * * If n were 4, your..

Programming/Algorithm 2019. 6. 9. 00:53

124 나라의 숫자 (진법 변환의 원리 이해) - Javascript

문제 124 나라에는 자연수만 존재하고, 124 나라에서는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 10진법 : [1,2,3,4,5,6,7,8,9,10] 1 124 나라 : [1,2,4,11,12,14,21,22,24,41] 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 풀이 일종의 진법 변환과 같은 원리로 보아야 할 것 같다. 진법 변환 시에는 몇 진수를 이용한 표현법인지를 파악하는 것이 우선이다. 여기서는 1,2,4 숫자 세 개를 사용하므로 진법 표기의 주기는 3이었다. 10진법 자연수 n을 3으로 나누었을때의 나머지에 대해서 각각 0, 1, 2일 때를 고려하면 될 것이다. function sol..

Programming/Algorithm 2019. 4. 25. 15:37

이상한 문자 만들기 - Javascript

문제 설명 : 문자열 s는 한 개 이상의 단어로 구성되어 있따. 각 단어는 하나 이상의 공백문자로 구분되어 있다. 각 단어의 짝수번재 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수 solution을 완성하라. 제한사항 : 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준으로)별로 짝/홀수 인덱스를 판단해야 한다. 입출력 예 sreturntry hello worldTrY HeLlO WoRlD function solution(s) { return s.split(' ').map(word => { var result = ''; for (var i = 0; i &lt word.length; i++) { if(i%2) { result += word[i].toLowerCase()..

Programming/Algorithm 2019. 4. 16. 19:55

시저 암호 - Javascript

문제 : 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 한다. 예를 들어AB는 1만큼 밀면BC가 되고, 3만큼 밀면DE가 된다.z는 1만큼 밀면a가 된다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보아라. 제한 조건 공백은 아무리 밀어도 공백 s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있다. s의 길이는 8000 이하이다. n은 1 이상, 25 이하인 자연수이다. 입출력 예 snresultAB1BCz1aa B z4e F d 알파벳과 관련된 알고리즘을 풀 때에는 아스키 코드표를 이용하면 훨씬 편해진다. function solution(s, n) { let arr = []; n = n % 26..

Programming/Algorithm 2019. 4. 16. 19:27

직사각형 별찍기 - Javascript

표준입력으로 주어지는 두 개의 정수 n과 m에 대하여, 별(*) 문자를 이용해 가로길이 n, 세로길이 m인 직사각형 형태를 출력하시오. (n, m은 각각 1000 이하의 자연수) 입력 : 5 3 출력 : ***** ***** ***** process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { const n = data.split(" "); const a = Number(n\[0\]), b = Number(n\[1\]); for(var i=0; i 이중반복문을 이용하였다. 먼저 첫번째 for 문은 총 세로 길이를 정의해주고, 두번째 내부 for 문은 총 가로길이의 별문자가 몇 개로 구성될지를 정의해준다. 빈 문자열 변수인 str은 내부 f..

Programming/Algorithm 2019. 4. 10. 18:31

추가 정보

인기글

최신글

페이징

이전
1 2
다음
Phot_o_matic Programming © phot_o_matic
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바