/date 24.09.27.
📌 1) 특정 문자 제거하기
https://school.programmers.co.kr/learn/courses/30/lessons/120826
def solution(my_string, letter):
string = my_string.replace(letter, "")
return string
✔️ 어떻게 해결할지 고민하다가 저번에 공부하면서 작성한 블로그 글을 읽어봤더니 string에서도 추가 및 삭제가 가능하다는 것을 알게 되었다. 덕분에 Replace를 활용해서 간단히 해결했다. 아래는 내가 정리해 두었던 string에 대한 기초 문법!
✔️ 문자열은 큰/작은따옴표로 감싸서 사용할 수 있습니다. 한 가지 특징은 추가 및 삭제가 가능하다는 것인데, 기존 객체 자체를 추가/삭제하는 것이 아니라 새로운 객체를 반환하는 것입니다. 예를 들어 string = "He"라는 문자열을 만들었습니다. 그러고 나서 string += "llo"라는 코드를 작성하였다면, string은 He를 참조하는 것이 아닌 Hello를 참조하여 저장하게 됩니다. 수정 또한 가능합니다. replace()를 활용하여 찾을 문자열과 변경할 문자열을 인수로 받아 수정합니다. 예를 들어 string = string.replace("l", "")라고 한다면 l을 찾아 모두 삭제하라는 의미가 됩니다.
📌 2) 자릿수 더하기
https://school.programmers.co.kr/learn/courses/30/lessons/120906
def solution(n):
return sum(int(num) for num in str(n))
✔️ sum도 기본 기능으로 있군...
📌 3) 배열 원소의 길이
https://school.programmers.co.kr/learn/courses/30/lessons/120854
def solution(strlist):
answer = []
for str in strlist:
k=len(str)
answer.append(k)
return answer
✔️ 한 번에 풀었다! 야호! 근데 map 이용해서 한 줄 만에 끝내는 사람들도 있다... 대단
📌 4) 피자 나눠 먹기 (1)
https://school.programmers.co.kr/learn/courses/30/lessons/120814
import math
def solution(n):
return math.ceil(n/7)
✔️ 최대공약수 문제에서 math라는 내장 모듈을 사용하면 따로 함수를 만들 필요 없이 최대공약수를 구할 수 있었다. 그럼 당연히 올림, 버림, 반올림 함수도 있겠다 싶어서 구글링 해서 적용!
📌 5) 피자 나눠 먹기 (2)
https://school.programmers.co.kr/learn/courses/30/lessons/120815
import math
def solution(n):
k = 6 * n / math.gcd(6, n)
return k/6
✔️최대공약수는 라이브러리에 있길래 최소공배수도 있을 줄 알았지... 없구나 (멋윽)
📌 6) 피자 나눠 먹기 (3)
피자문제 끝장을 보자
https://school.programmers.co.kr/learn/courses/30/lessons/120816
import math
def solution(slice, n):
return math.ceil(n/slice)
📌 7) 최빈값 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/120812
from collections import Counter
def solution(array):
# 각 숫자의 등장 횟수를 센다.
count = Counter(array)
# 등장 횟수가 가장 많은 값을 찾는다.
max_count = max(count.values())
# 최빈값이 여러 개인지 확인
mode_list = [key for key, value in count.items() if value == max_count]
# 최빈값이 여러 개일 경우 -1 반환
if len(mode_list) > 1:
return -1
else:
return mode_list[0]
✔️counter 사용하고 싶지 않았지만... 두통이슈로 빠른 길을 택함.
/*사족입니다*/
- 점점 답안 자체를 구글링하지 않고 내 힘으로 풀 수 있는 문제가 늘어가고 있어서 뿌듯하다! 그래도 여전히 최선의 답을 내놓는 것은 쉽지 않지만... 첫 술에 배부를 순 없지
'학습 기록 > 코딩 테스트 다짜고짜 풀어보기' 카테고리의 다른 글
[python] 코딩 테스트 입문 문제 풀기 (6) (2) | 2024.09.30 |
---|---|
[python] 코딩 테스트 입문 문제 풀기 (5) (0) | 2024.09.29 |
[python] 코딩 테스트 입문 문제 풀기 (4) (2) | 2024.09.28 |
[python] 코딩 테스트 입문 문제 풀기 (2) (1) | 2024.09.26 |
[python] 코딩테스트 입문 문제 풀기 (1) (2) | 2024.09.25 |