[99클럽] 코테 스터디 4일차 TIL

문지웅·2024년 4월 1일
0

99club

목록 보기
5/9

Q1) 문자열 내림차순으로 배치하기

풀이(JavaScript)
아래 순서대로 진행하면 해결할 수 있다.

  1. 문자열을 배열로 나눈다. - split()
  2. 나눈 배열을 정렬한다. -sort()
  3. 정렬한 배열을 뒤집는다. - reverse()
  4. 배열을 문자열로 합친다. - join()

코드로 작성하면 아래와 같다.

function solution(s) {
  return s.split("").sort().reverse().join("");   
}

풀이(Python)

※ python에서 똑같이 split() 함수를 사용하면 동작하지 않는다.

def solution(s):
	answer = sorted(s, reverse=True) // 여기까지가 위의 1~3번과 같다.
    return ''.join(answer) // 배열을 다시 문자열로 변환해준다. 

좀 더 줄인다면 위의 Js 코드처럼 한 줄로 가능하다.

def solution(s):
    return ''.join(sorted(s, reverse=True))

Q2) 자연수 뒤집어 배열로 만들기

풀이(Javascript)

  1. 자연수 n을 String으로 형변환한다.
  2. 문자열로 변환된 n을 자리별로 나눈다.
  3. 배열을 뒤집는다.
  4. 문자이므로, 숫자로 형변환해서 배열에 추가한다.
function solution(n) {
    var answer = [];
    let temp = n.toString().split("").reverse();
    for(num in temp){
        answer.push(parseInt(temp[num]))
    }
    return answer;
}

풀이(Python)

def solution(n):
    return [int(digit) for digit in str(n)[::-1]]
  1. str(n): 입력 숫자 n을 문자열로 변환한다.
  2. [::-1]: 이것은 Python의 슬라이싱 표기법이다. 1단계에서 얻은 문자열을 반대로 바꿉니다. 따라서 n이 12345이면 str(n)[::-1]은 "54321"이 된다.
  3. for digit in str(n)[::-1]: 2단계에서 얻은 역 문자열의 각 문자(숫자)를 반복하는 루프다.
  4. int(digit): 각 문자를 다시 정수로 변환한다. 이는 각 숫자를 문자('5', '4', '3', '2', '1')에서 정수(5, 4, 3, 2, 1)로 변환한다.
  5. [int(digit) for digit in str(n)[::-1]]은 4단계에서 얻은 정수들의 배열을 구성한다.
profile
프론트엔드 개발자입니다.

0개의 댓글