문제
테이블:Seat
+-------------+---------+
| 열 이름 | 유형 |
+-------------+---------+
| id | int |
| student | varchar |
+-------------+---------+
id는 이 테이블의 기본 키(고유 값) 열입니다.
이 테이블의 각 행은 학생의 이름과 ID를 나타냅니다.
ID 시퀀스는 항상 1부터 시작하여 계속 증가합니다.
연속된 두 학생의 좌석 번호를 서로 바꾸는 해법을 작성하세요.
학생 수가 홀수이면 마지막 학생의 좌석 번호는 바꾸지 않습니다.
id 오름차순 으로 정렬된 결과 표를 반환합니다 .
결과 형식은 다음 예와 같습니다.
작성 쿼리
select case when id % 2 =1 and id+1 in (select id from Seat) then id+1
when id % 2 =0 then id-1
else id
end as id, student
from Seat
order by id
풀이 :
- id % 2 = 1 → 현재 행이 홀수 id (즉, 짝을 바꿀 앞쪽 자리)
- id + 1 IN (...) → 짝이 되는 오른쪽(id+1)이 실제로 존재하는지 확인
- 조건이 참이면: → id + 1로 자리 바꿈
- 지금 id가 짝수 번호일 경우
- 바로 앞의 홀수 번호와 자리 바꿈 → id - 1
문제 설명
정수 num1, num2가 매개변수로 주어질 때,
num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.
제한사항
0 < num1 ≤ 100
0 < num2 ≤ 100
풀이
def solution(num1, num2):
answer = num1 % num2
return answer