답: 점의 위치 구하기
def solution(dot):
if dot[0] > 0 and dot[1] > 0:
return 1
elif dot[0] < 0 and dot[1] > 0:
return 2
elif dot[0] > 0 and dot[1] < 0:
return 4
elif dot[0] < 0 and dot[1] < 0:
return 3
다른사람의 풀이:
def solution(dot):
quad = [(3,2),(4,1)]
return quad[dot[0] > 0][dot[1] > 0]
오잉... 해석이 필요하다
문제 분석 및 해석
입력 : 숫자 2개짜리 배열
결과 : 정수 1,2,3,4
배열[0][1]에 따라
1234 돌려주는 것이 다를 것임
[0][1] +면 1
[0] -면 2
[1] -면 4
[0][1] -면 3
if문으로 검사하기 <<
0부터 검사해서 거르고 1검사하기..?
각각 검사해서 합치기
과정1.
무조건 요소가 2개인 리스트가 들어오므로,
if문으로 [0], [1]을 검사하고 and로 묶어 True값을 내고자했다.
if dot[0] > 0 and dot[1] > 0:
return 1
새롭게 알게된 것
x,y = dot
list의 요소가 2개라는 것을 알고있으니 각각의 요소를 이렇게 지정하면 된다는 것을 알게되었다.
답: 최댓값 만들기
def solution(numbers):
num_list = sorted(numbers, reverse=True)
a = num_list[0]
b = num_list[1]
return a * b
문제 분석 및 해석
입력:
numbers = [1, 2, 3, 4, 5]
numbers2 = [0, 31, 24, 10, 1, 9]
출력: 숫자 2개를 곱한 정수
가장 큰 원소 1, 2를 곱해 최댓값을 리턴하기
이거 최빈값 뽑기랑 비슷한 것 같은걸?
1. sorted 써서 정리하고
2. 정리된대로 앞 혹은 뒤에서 두개 뽑고
3. 곱하면 되겠당
과정.
def solution(numbers):
num_list = sorted(numbers, reverse=True)
이 내용을 print하면
[5, 4, 3, 2, 1]
[31, 24, 10, 9, 1, 0]
이렇게 내림차순으로 정리된 리스트가 나온다.
[0], [1]을 각각 변수에 지정하고 곱하여 반환하면 끝
a = num_list[0]
b = num_list[1]
return a * b
+ 그냥 곱해도 된다..!
+ 내림차순 정리할 것없이 reverse도 빼도 된다^^; 대신 [-1], [-2] 값을 곱해야겠지
+ sort를 쓴다면 numbers.sort()를 쓰면 된다 (변수설정X)
'알고리즘 풀이' 카테고리의 다른 글
[algorithm] 백준: 11382 꼬마 정민, 10171 고양이 (1) | 2023.04.17 |
---|---|
[algorithm] 페어 - 프로그래머스:문자열 정렬하기 (팀원 풀이 해석) (0) | 2023.04.12 |
[algorithm] 프로그래머스: 가위바위보 (0) | 2023.04.10 |
[algorithm] 프로그래머스: 배열 뒤집기 (0) | 2023.04.07 |
[algorithm] 프로그래머스: 배열 두 배 만들기 (0) | 2023.04.06 |