CASE ~ WHEN ~ THEN ~ ELSE ~ END [형식] CASE 컬럼명 | 표현식 WHEN 조건식1 THEN 결과1 WHEN 조건식2 THEN 결과2 ....... WHEN 조건식n THEN 결과n ELSE 결과 END 조건문과 조건문 사이에는 콤마(,) 를 사용하지 않는다. CASE 문은 반드시 END 로 끝내야 한다. CASE 표현식은 ANSI SQL 형식도 지원한다. 결과 부분은 NULL 을 사용해서는 안된다. case when x = y then a else b end : 조건 x =y 가 true 일 경우 a 이고 그렇지 않으면 b case when x < y then a when x = y then b else c end : 조건 x
셀프 조인: 자기 자신에게 테이블을 조인하는 법 셀프 조인은 여러 조인 중에서도 꽤나 독특한 아이입니다. 2개의 서로 다른 테이블 내에 있는 데이터를 하나의 테이블로 붙이는 대신 자기 자신 안에 있는 똑같은 데이터를 가져다 붙이니까요. 어째서 이미 존재하는 데이터를 조인을 통해 또 가져다 붙여 쓰고 싶은 것일까요? 위에서 살펴본 조인의 예시는 city 테이블 내의 열인 name 을 customer 테이블에 가져다 붙이고 싶었습니다. 그래서 2개의 테이블을 조인해 주었죠. 하지만 셀프 조인을 한다는 것은, 예를 들자면, customer 테이블의 데이터를 다시 customer 테이블에다가 가져다 붙이는 것입니다. customer 테이블을 가져와서 부연 설명을 해보도록 하겠습니다. customer_id fir..
n, k = map(int, input().split()) li = list(range(1,n+1)) ## 1부터 n까지 있는 리스트 ans = [] for i in range(n): ## n번 없애야함 if i == 0: a = k - 1 ## 처음엔 k-1번째 항이 대상이고 else: a += (k - 1) ## 다음부터는 1을 뺀 만큼 간격이 늘어남 ## 숫자가 제거되니 항 길이가 줄기 때문 if a >= len(li): ## a가 li의 길이를 넘어가면 a = a % len(li) ## 길이만큼 나눠준 나머지로 바꿈 ans.append(li[a]) ## 더해놓고 li.remove(li[a]) ## 없애고 print('') break print(ans[j], end=', ') print()
n = int(input()) ## 숫자 입력받고 Tr = False ## bool타입 하나 정의해준다 for i in range(n): ## 최대로 큰 생성자는 숫자와 같으므로 숫자까지 반복 sum = i ## sum 에 i 를 넣고 i = str(i) ## i 는 문자열로 변경 for j in i: ## i 를 순회하면서 sum += int(j) ## 각 자리수를 sum 에 더해줌 if sum == n: ## 그 sum 값이 입력받은 숫자와 같다면 print(i) ## 그것이 생성자(답)이므로 출력 Tr = True ## 답이 나왔으면 Tr을 바꿔주고 break ## for문 중지 if Tr == False: ## Tr이 바뀌지 않고 for문이 끝나서 여기까지 왔으면 print(0) ## 생성자가 없..
n = int(input()) br = False for i in range((n//3) + 1): ## 3, 5 의 최댓값 까지 반복 for j in range((n//5) + 1): ## 5를 먼저 증가되게 만듬 if (3*i) + (5*j) == n: ## 딱 떨어지는 순간 print(i+j) ## 그것이 최소로 필요한 수 br = True ## 답이 나왔다면 br을 바꾸고 break ## 2중반복문 한개 빠져나가기 if br == True: ## br이 바뀌었다면 break ## 반복문 한개 더 빠져나가기(완전종료) if br == False: ## 답이 안나오고 반복문이 끝났다면(br불변) print(-1) ## -1 출력
문자열을 뒤집는다는 의미는 다음과 같이 Original 문자열의 마지막에서 처음 순서로 출력한다는 의미입니다. Original String: Hello, World! Reversed String: !dlroW ,olleH 이 글에서는 문자열을 뒤집는 방법을 소개합니다. 1. slice로 문자열 순서 뒤집기 2. reversed()로 문자열 순서 뒤집기 3. for loop로 문자열 순서 뒤집기 1. slice로 문자열 순서 뒤집기 slice를 이용하면 매우 쉽게 String을 뒤집을 수 있습니다. slice에서 각각의 항목은 [start:stop:step]를 의미합니다. string[::-1]처럼 반대 방향으로 리스트의 데이터를 자를 수 있습니다. string = 'Hello, World!' revers..
n = int(input()) # 주어지는 수 li = list(map(int, input().split())) # 리스트에 담는다 for i in li: # 리스트를 순회하며 count = 0 for j in range(1, i+1): # 1부터 본인수까지 나누며 if i % j == 0 : # 나머지가 0인 수의 개수가 count += 1 if count != 2: # 2개가 아니면(소수가 아니면) n -= 1 # n(주어진 수의 개수)에서 1을 뺀다. print(n) # n(소수의 개수)출력 n이 없어도 되지만 문제에서 주어졌으므로 사용하는 쪽으로 해결했다.