비슷한 문제 : https://www.acmicpc.net/problem/17472

 

17472번: 다리 만들기 2

첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다.

www.acmicpc.net

▶ 코드

.

 

문제 : https://programmers.co.kr/learn/courses/30/lessons/62050

 

코딩테스트 연습 - 지형 이동

[[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18

programmers.co.kr

▶ 코드

.

문제 : https://programmers.co.kr/learn/courses/30/lessons/62049

 

프로그래머스

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

programmers.co.kr

▶ 코드

# n=1 -> 0
# n=2 -> 0 0 1
# n=3 -> 0 0 1 0 0 1 1
# n=4 -> 0 0 1 0 0 1 1 0 0 0 1 1 0 1 1 (직접 종이 접어보았다)

# 규칙: 이전 배열뒤에 0을 붙히고, "이전 배열을 뒤집어서, 0,1을 반전시킨 배열"을 붙힌다.

import copy

def reverse(lst):   # 배열 뒤집기
    lst.reverse()
    return lst

def flip(lst):      # 0,1 반전 
    t = []
    for a in lst:
        if a == 0:
            t.append(1)
        else:
            t.append(0)
    return t

def solution(n):
    if n == 1:
        return [0]
    
    start = [0]
    for i in range(2, n+1):
        temp = copy.deepcopy(start) # 배열 깊은 복사 
        start += [0] + flip(reverse(temp))
        #print(start)
    return start
        
solution(3)

# 참조 : https://velog.io/@ansrjsdn/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-level3-%EC%A2%85%EC%9D%B4%EC%A0%91%EA%B8%B0-Python

문제 : https://programmers.co.kr/learn/courses/30/lessons/62284

 

프로그래머스

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

programmers.co.kr

▶ FROM 절에서 사용되는 서브쿼리

FROM 절에서 사용되는 서브쿼리를 인라인 뷰(inline view)라고 한다.

FROM 절에는 테이블 명이 오도록 되어 있다.

그런데 서브쿼리가 FROM절에 사용되면 뷰(View)처럼 결과가 동적으로 생성된 테이블로 사용할 수 있다.

임시적인 뷰이기 때문에 데이터베이스에 저장되지는 않는다.

또한, 인라인 뷰로 동적으로 생성된 테이블이어서 인라인 뷰의 컬럼은 자유롭게 참조가 가능하다.

(출처: https://snowple.tistory.com/360)

 

▶ SQL 코드

풀이 1: FROM절 서브쿼리 이용

SELECT A.cart_id 
FROM 
(SELECT cart_id FROM CART_PRODUCTS WHERE NAME='우유') as A, 
(SELECT cart_id FROM CART_PRODUCTS WHERE NAME='요거트') as B 
WHERE A.cart_id = B.cart_id

 

풀이 2: WHERE절에 그냥 NAME을 단순2개 비교하는 조건은 없기때문에, 서브쿼리로 id하나 구해준뒤 AND사용 
SELECT cart_id 
FROM CART_PRODUCTS 
WHERE cart_id in (SELECT cart_id FROM CART_PRODUCTS WHERE name='우유') 
        AND NAME='요거트' 
ORDER BY cart_id asc;

풀이 3: SELF JOIN
SELECT C.cart_id
FROM CART_PRODUCTS C, CART_PRODUCTS T
WHERE C.cart_id = T.cart_id
    AND (C.name='우유' AND T.name='요거트')
ORDER BY C.cart_id

 

'■코테 기출문제 > Summer,Winter Coding(2019)' 카테고리의 다른 글

[Level 4] 지형 이동  (0) 2020.05.28
[Level 3] 종이접기  (0) 2020.05.06