코딩테스트

코딩테스트 입문_find() ord() index() abs()

끈끈 2023. 4. 9. 21:44

 

숫자 찾기
(Lv.0 86%)

 
나의 풀이:

def solution(num, k):
    return str(num).find(str(k))+1 or -1

 
페어프로그래밍으로 알게된 find() 함수
 
문자열.find(찾을 문자, 시작 index, 끝 index) :
 
그 문자열에서 찾을 문자가 첫번째로 나오는 인덱스
 
시작 index : 생략 가능, 기본값은 0
 
끝 index : 생략 가능, 생략시 문자열 맨 마지막 index
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


 

문자열 정렬하기(2)
(Lv.0 85%)

 
나의 풀이:

def solution(my_string):
    a = sorted(my_string.lower())
    return ''.join(a)

 
다른 사람의 풀이:

def solution(my_string):
    answer = []
    for i in my_string:
        if ord(i) >= ord('A') and ord(i) <= ord('Z'):
            answer.append(chr(ord(i)+32))
        else:
            answer.append(i)
    return ''.join(sorted(answer))

 
ord() 함수는 문자열을 아스키코드로 반환해준다
 
chr() 함수는 아스키코드를 문자열로 반환해준다
 

아스키(ASCII) 코드

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


 

머쓱이보다 키 큰 사람
(Lv.0 89%)

 
나의 풀이:

def solution(array, height):
    count = 0
    for i in array:
        if i > height:
            count += 1
    return count

 
다른 사람의 풀이:

def solution(array, height):
    array.append(height)
    array.sort(reverse=True)
    return array.index(height)

 
index() : 리스트 중에서 특정 원소가 처음 등장하는 인덱스를 알려준다
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


 

직사각형 넓이 구하기
(Lv.0 74%)

 
나의 풀이:

def solution(dots):
    return (max(dots)[0]-min(dots)[0])*(max(dots)[1]-min(dots)[1])

 
print(max(dots)) # [2, 2]
 

def solution(dots):
    answer = 0
    for i in range(1, len(dots)):
        if dots[i][1] == dots[0][1]:
            width = abs(dots[i][0] - dots[0][0])
        if dots[i][0] == dots[0][0]:
            height = abs(dots[i][1] - dots[0][1])
    answer = width * height
    return answer

 
asb() : 절대값 구하는 함수
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr