코딩테스트 연습(programmers)

Programmers 코딩 테스트 연습 [입문] 1

heehee_ 2025. 1. 2. 01:41

Q1. 정수 num1과 num2가 매개변수로 주어진다.

두 수가 같으면 1, 다르면 -1을 return하도록 solution함수를 작성해주세요.

 

#내가 작성한 답안

def solution(num1,num2)
	answer = (num1/num2)*1000
    	answer = int(ansewr)
    	return answer
# 다른 사람의 예시 
def solution(num1, num2)
	return int((num1/num2)*1000)

 

 

🌱 알게된 점

◇ 지역변수(answer)을 활용하지 않으면 좋은 점이 있을까?

      → 회사에서는 변수를 저장하는것도 비용이 든다. 비용이 늘면, 시스템 성능의 저하가 올 수도 있음.

◆ 코딩은 짧을수록 좋다!


 

Q2. 정수 num1과 num2가 매개변수로 주어진다.

두 수가 같으면 1, 다르면 -1을 return하도록 solution함수를 작성해주세요.

# 내가 작성한 답변
def solution(num1, num2):
    if num1 == num2:
        return 1
    else: 
        return -1
# 다른 사람의 풀이 - 리스트 컴프리헨션으로 작성
def solution (num1, num2)
	return 1 if num1==num2 else -1

 

 

# 리스트 컴프리헨션의 기본 구조

[원하는 출력값 for 변수 in 반복되는 범위]

#예시
nums = [1, 2, 3, 4, 5]
squares = [x**2 for x in nums]
print(squares)  # 출력: [1, 4, 9, 16, 25]

 

# 조건문이 추가된 리스트 컴프리헨션

[<if값일 때 출력되는 값> if문 else <else일때 출력되는 값> for <반복변수> in <반복범위>]

#예시
nums = [1, 2, 3, 4, 5]
result = ["짝수" if x % 2 == 0 else "홀수" for x in nums]
print(result)  # 출력: ['홀수', '짝수', '홀수', '짝수', '홀수']

 


 

Q3. (GPT 생성-리스트 컴프리헨션 연습문제)

리스트 ["hello", "world", "python", "is", "awesome"]에서 길이가 5 이상인 단어만 추출하세요. 

리스트 ["hello", "world", "python", "is", "awesome"]에서 길이가 5 이상인 단어만 추출하세요. 

word_list=["hello", "world", "python", "is", "awesome"]
word = [x for x in word_list if len(x) >= 5]
print(word)

출력: ['hello', 'world', 'python', 'awesome']

 

Q4. (GPT 생성-리스트 컴프리헨션 연습문제)

리스트 [-5, 0, 10, 20, 30, 40]에서 온도가 15도 이상이면 "따뜻함", 그렇지 않으면 "춥다"로 변환하세요

리스트 [-5, 0, 10, 20, 30, 40]에서 온도가 15도 이상이면 "따뜻함", 그렇지 않으면 "춥다"로 변환하세요

temp_list = [-5, 0, 10, 20, 30, 40]
temp = ["따뜻함" if x >= 15 else "춥다" for x in temp_list]
print(temp)

출력: ['춥다', '춥다', '춥다', '따뜻함', '따뜻함', '따뜻함'] 

❗리스트형태로 반환됨

❗if만 쓸 때와, if와 else를 같이 쓸 떄의 구조차이를 확인할 것

    ▷ if만 쓸 때는, 반복문 뒤에

    ▷ if와 else를 함께 쓸 때는 반복문을 맨 뒤에

728x90