Algorithm

Algorithm :: 프로그래머스 문제풀기 -14

hooti 2021. 1. 24. 15:19

[JS] 이상한 문자 만들기

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

 

제한사항 : 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

 

 


 

 

이번문제는 쉬운줄 알았는데 생각하다보니깐 결국 이중 for문을 돌게 되었다. 뭔가 이중 for에 대해 거부감이 있는데...😭효율적이지 못한 방향으로만 생각하는것같아서... 조금 슬푸다.

 

// 1. 공백을 기준으로 문자열 자르기
// 2. forf를 돌며 짝번째는 대문자, 홀수번째는 소문자로 리턴

 

1. s의 공백을 기준으로 문자열 자르기

2. s의 길이만큼 for문을 돈다.

3. s[i]의 길이만큼 for문을 돌며, s[i][j]가 짝수인지 홀수인지에 따라 대소문자를 변경한다.

4. 변경한 문자를 answer에 넣어준다.

 

function solution(s) {
    let answer = '';
    let test = s.split(" ");
    
    for(let i = 0; i < test.length; i++){
      let word = '';
      for(let j = 0; j < test[i].length; j++){
        word = j % 2 == 0 ? word + test[i][j].toUpperCase() : word + test[i][j].toLowerCase();
      }
      test[i] = word;
    }
  answer = test.join(" ")
  return answer;
}

 

 

 

 


 

 

[Python] 문자열을 정수로 바꾸기

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

 

제한사항 :  s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 0으로 시작하지 않습니다.

 

 


 

 

파이썬은 정말....뭔가 자바스크립트랑 비슷하게 생각하다보니 효율성이 떨어지는 것같고, 그렇다고 너무 쉬운 방향으로만 가는 것 같아서 양심찔리고...ㅎ... 아직도 익숙하지 않은 언어라서 쉬운 문제부터 천천히 가기로 했따.

def solution(s):
    answer = int(s)
    return answer

 

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges