프로그래머스 스킬체크 레벨1 - peulogeulaemeoseu seukilchekeu lebel1

Permalink

master

Switch branches/tags

Could not load branches

Nothing to show

{{ refName }}

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Go to file

  • Go to file
  • Copy path
  • Copy permalink

Cannot retrieve contributors at this time

124 lines (124 sloc) 3.56 KB

Raw Blame

Open in GitHub Desktop

  • Open with Desktop
  • View raw
  • View blame

Sorry, something went wrong. Reload?

Sorry, we cannot display this file.

Sorry, this file is invalid so it cannot be displayed.

문제

실력 체크

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

프로그래머스 스킬체크 레벨1 - peulogeulaemeoseu seukilchekeu lebel1
  • 레벨 1

풀이

난이도가 좀 많이 쉬워서 올리기 민망하지만 ㅎㅎ 풀어보았다.

  • 문제 1

    n = 3 이면 '수박수'

    n = 5 이면 '수박수박수' 와 같은 문자열을 반환한다.

def solution(n):
   answer = ''
   for i in range(n):
       if i% 2 == 0:
           answer += '수'
       else:
           answer += '박'
​
   return answer
  • 문제 2

    배열 arr이 주어지면 최소 숫자를 제거한 배열을 반환한다.

    배열이 모두 비어진 경우에는 [-1]을 반환한다.

def solution(arr):
   if len(arr) == 1:
       return [-1]
   i = min(arr)
   arr.remove(i)
   answer = arr
   return answer

최초 발행 날짜: 2020-12-10 18:00:00

알고리즘 스터디/프로그래머스 스킬체크 레벨 1(끝)

[프로그래머스 스킬체크 레벨 1] 자릿수 더하기 풀이 및 설명 - 자바스크립트[JavaScript]

레일라오리덕 2021. 7. 13. 20:57

https://programmers.co.kr/learn/courses/30/lessons/12931

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

프로그래머스 스킬체크 레벨1 - peulogeulaemeoseu seukilchekeu lebel1

문제

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한 사항

  • N의 범위 : 100,000,000 이하의 자연수

결괏값 예시

기본 제공 틀

function solution(n)
{
    var answer = 0;

    // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    console.log('Hello Javascript')

    return answer;
}

풀이 [JavaScript]

우선 들어온 자연수 값을 문자로 바꾸어서 각각의 자리를 split함수를 사용하여 뜯어주었고, 이 뜯어진 배열을 돌아서 나온 값을 Number로 변환하여 값을 더 더하도록 로직을 구현했습니다.

function solution(n)
{
    var sum = 0;
    var splited = String(n).split('');
    for(var i in splited){
        sum += Number(splited[i]);
    }
    return sum;
}

채점 결과 [JavaScript]

프로그래머스 스킬체크 레벨1 - peulogeulaemeoseu seukilchekeu lebel1

문제

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

제한 조건

x는 -10000000 이상, 10000000 이하인 정수입니다.

n은 1000 이하인 자연수입니다.

x

n

answer

2

5

[2, 4, 6, 8, 10]

4

3

[4, 8, 12]

-4

2

[-4, -8]

생각

-long[] 배열의 length는 입력받은 n만큼이어야 한다.

-그러므로for문에서 n만큼 i가 돌아야 한다.

- x부터 시작해 x씩 증가하는 숫자들의 answer는 x의 배수를 말하는 것이다.

코드

프로그래머스 스킬체크 레벨1 - peulogeulaemeoseu seukilchekeu lebel1

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        
        for(int i = 0; i < n; i++) {
            answer[i] += x + x * i;
        }
        
        return answer;
    }
}

프로그래머스 스킬체크 레벨1 - peulogeulaemeoseu seukilchekeu lebel1

프로그래머스 스킬체크 레벨1 - peulogeulaemeoseu seukilchekeu lebel1

정답은 맞았다.

하지만 효율적이지 못한 코드라는 결과가 나왔다.

좀 더 효율적인 코드를 연구해봐야겠다.

정말 오늘 하루도 내 기초가 아직 많이 부족하구나...탄탄하지 못하구나 생각이 든다.

더 탄탄하게 만들어야 겠다.