05-16-2022 알고리즘 17~24

·2022년 5월 16일
0
post-custom-banner
  1. 문자열 다루기 기본
    https://programmers.co.kr/learn/courses/30/lessons/12918#
    ===py code===
def solution(s):
    answer = True
    if len(s) == 4 or len(s) == 6:
        if s.isalpha():
            answer = Flase       
    return answer

위에가 내 답안 코드 정답 제출 안됨

아래가 검색해서 찾은 답안 코드

def solution(s):
     answer = False
     if len(s) == 4 or len(s) == 6:
         if s.isdigit():
             answer = True
     return answer

도저히 무슨 차이 인지 모르겠다. 나는 문자가 포함되어 있는지 아래는 숫자가 포함되어 있는지를 확인하는 건데 내껀 왜 틀리고 아래는 맞는 것일까 기술 매니저님한테 나중에 물어봐야겠다.

18.번 서울에서 김서방 찾기
https://programmers.co.kr/learn/courses/30/lessons/12919
===py code===

def solution(seoul):
   num = 0
   for i in range(len(seoul)):
       if seoul[i] == "Kim":
           num+=i
   answer = f'김서방은 {num}에 있다'
   return answer

어렵지 않게 쉽게 풀 수 있었다. for를 사용해 몇번 째 index에 있는지 확인 후 그 값을 넘겨준 다음 작성했다.

19.번 수박수박수
https://programmers.co.kr/learn/courses/30/lessons/12922?language=python3

===py code===

def solution(n):
  answer = ''
  if n % 2 == 0 :
      answer = "수박"*int((n/2))
  else:
      answer = "수박"*int((n/2))+"수"
  return answer

===js code===

function solution(n) {
  let answer = "";
  if(n % 2 === 0){
      answer = "수박".repeat(n/2)
  }
  else{
      answer = "수박".repeat(n/2).concat("수")
  }
      
  return answer
}

js로 구현하는 것에서 애 먹었다. 파이썬과 다르게 str에 int를 곱할 수 없더라 구글링 해보니
repeat를 사용한 것을 알게됐다. 또한 str을 더할 때 concat이란 것도 사용하는 것을 알게됐음.

22.번 자릿수 더하기
https://programmers.co.kr/learn/courses/30/lessons/12931

===py code===

def solution(n):
    answer = 0
    
    for i in str(n):
        answer += int(i)
    # [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    print('Hello Python')

    return answer

쉬웠다. str알로 바꿔 for를 사용해 int로 바꿔준 다음 answer에 더해주었다.

23.번 자연수 뒤집어 배열로 만들기
https://programmers.co.kr/learn/courses/30/lessons/12932

===py code===

def solution(n):
   answer = []
   for i in str(n):
           answer.append(int(i))
   answer.reverse()
   return answer

===js code===


function solution(n) {
   var answer = [];
   var arr = n.toString().split("").reverse();
   for (let i =0; i<arr.length; i++ ){
       answer.push(parseInt(arr[i]));
   }
   return answer;
}

py로 쉽게 풀 수 있었지만 js로 구현하는데 힘들었다. 자꾸 오류나더라. 어쩔 수 없지 가장 비슷했던 답을 찾아봤다.

24.정수 내림차순으로 배치하기
https://programmers.co.kr/learn/courses/30/lessons/12933

===py code===

def solution(n):
    answer = 0
    n_list = list(str(n))
    n_list.sort()
    n_list.reverse()
    answer = int("".join(n_list))
    return answer

정수를 list로 정리하고 sort 다음 reverse 다음 다시 int

20번은 어려워서 풀지 못했다.
21번은 풀 수 있으나 다른문제에 시간을 할애 하다보니 하루가 다 갔다.
점점 알고리즘 문제가 어려워진다. 코드실행에는 문제가 없이 나오지만 제출하기 버튼을 누르면 꼭 한개는 틀렸다고 나온다. 어느덧 알고리즘 24번문제까지 3일차 내일부터가 정말 어려운 문제다.
1시간 이상 붙잡아도 오지 않는다면 답안을 봐야겠다. 내일도 힘내자 화이팅

profile
Life is a natural-nine
post-custom-banner

0개의 댓글