Little bIT awesome

[프로그래머스] 코딩테스트 스터디 5일차 본문

코딩테스트/프로그래머스

[프로그래머스] 코딩테스트 스터디 5일차

까루카라 2023. 7. 13. 15:49

 

모스부호(1)

문자열.split() -> 배열을 반환한다. 

 

2차원으로 만들기

다른 사람의 풀이를 보니까 슬라이싱을 썼더라. 문제를 처음보고 슬라이싱인가 했긴했는데 결국 다른 풀이를 썼다. 좀 더 연습이 필요할 것 같다. 

다른 사람의 풀이

팩토리얼

처음에 시간초과되길래 엥 했는데 i랑 j 선언문이 while문안으로 되어있었다... 위치 잘 보고 할 것.

 

 

A로 B 만들기

문자열을 한글자씩 잘라서 리스트로 만들기

1. list()

before = 'apple'
before = list(before)
# before == ['a', 'p', 'p', 'l', 'e']

2. for loop

before = 'apple'
before = [char for char in before]

참고

 

https://codechacha.com/ko/python-convert-string-to-char-list/

 

Python - 문자열을 한 글자씩 분리하여 리스트에 넣기

String을 한 글자씩(char) 나누고, 그 문자들을 list로 추가할 수 있습니다. 이 글에서 3가지 방법을 소개합니다. list()의 인자로 문자열을 전달하면, 문자 단위로 나누어 list에 저장합니다. for를 이용

codechacha.com

가까운 수

내가 짠 코든데 여차저차 맞긴했는데 너무 지저분함... 다른 사람이 푼 코드를 보자

일단 이 코드에서 배울 점

sort안에는 두가지 key가 들어갈 수 있다. 우선순위가 있는데, 첫번째 key로 우선 정렬한 후, 같은 경우 두번째 키로 정렬하게 됨

이 경우에는 우선, 절댓값으로 정렬한 후 값이 같은 경우 절댓값을 풀고 정렬하는데 이 이유는 작은 값이 앞으로 오게 하기 위해서이다. 

이렇게 정렬한 후 첫번째 값을 리턴한다.

 

숨어있는 숫자의 덧셈

마지막 예외사항을 못봐서 한참 틀림... 

마지막에 숫자가 왔을 때의 예외사항을 고려할 것. 

 

 

이진수 더하기

결국 못풀어서 풀이를 봤음...

int(~, 숫자) 는 숫자 진수를 10진수로 변환해주는 것이었다. 

 

추가로 

oct()

hex()

bin()

함수는 각각 10진수를 8진수, 16진수, 2진수로 변환해주는 함수인데 앞에 2글자는 몇진수인지를 알려주는 문자를 출력해주므로 슬라이싱을 사용해서 잘라서 리턴하여 사용한다. 

 

참고

https://velog.io/@zinu/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%9D%B4%EC%A7%84%EC%88%98-%EB%8D%94%ED%95%98%EA%B8%B0%ED%8C%8C%EC%9D%B4%EC%8D%ACbin-int

 

프로그래머스 - 이진수 더하기 (파이썬,bin, int())

\*\*<span style="color:\*\*<span style="color:\*\*<span style="color:\*\*<span style="color:10진수 ➡️ 8진수 문자열10진수 ➡️ 16진수 문자열10진수 ➡️ 2진수 문자열

velog.io