전체 글 193

[백준/파이썬] 14425번 문자열 집합

https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net import sys read = sys.stdin.readline n,m = list(map(int, read().split())) cnt = 0 set_input = set([read() for _ in range(n)]) for _ in range(m): com_input = read() if com_input in set_input: cnt += 1 print..

Algorithm/Problems 2022.11.18

[백준/파이썬] 10815번 숫자 카드

https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net import sys read = sys.stdin.readline n = int(input()) cards = list(map(int, read().split())) m = int(input()) nums = list(map(int, read().split())) result = [0] * len(nums) for i in range(m): if nums[i] in ..

Algorithm/Problems 2022.11.18

[백준/파이썬] 1436번 영화감독 숌

https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net import sys read = sys.stdin.readline n = int(read().rstrip()) nth = 666 # 비교할 숫자 cnt = 0 while True: if '666' in str(nth): cnt += 1 if cnt == n: print(nth) break nth += 1 처음에는 for문을 써야하나 복잡하게만 생각을 했다. 하지만, 의외로 간단한 문제였다. 66..

Algorithm/Problems 2022.11.17

[백준/파이썬] 1018번 체스판 다시 칠하기

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net import sys read = sys.stdin.readline h, w = list(map(int, read().split())) board = [] result = [] for _ in range(h): board.append(input()) # h-7 w-7 하는 이유? # 8*8 체스판을 만들어야 하는데, 인덱스를 벗어나면 안되기 때문 for i in range(h-7): for ..

Algorithm/Problems 2022.11.14

[백준/파이썬] 7568번 덩치

https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net import sys read = sys.stdin.readline n = int(read().rstrip()) infos = [] for _ in range(n): weight, height = list(map(int, read().split())) infos.append((weight, height)) for i in infos: rank = 1 for j in infos: if i..

Algorithm/Problems 2022.11.14

[프로그래머스] 5월 식품들의 총매출 조회하기

https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT A.PRODUCT_ID, A.PRODUCT_NAME, SUM(B.AMOUNT * A.PRICE) as TOTAL_SALES FROM FOOD_PRODUCT A Join FOOD_ORDER B ON A.PRODUCT_ID = B.PRODUCT_ID WHERE year(B.PRODUCE_DATE) = '2022' and month(B.PRODUCE_DATE) = '5' GROUP BY ..

Language/SQL 2022.11.11

[프로그래머스] 경기도에 위치한 식품창고 목록 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131114 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') FROM FOOD_WAREHOUSE WHERE ADDRESS LIKE '경기도%' ORDER BY WAREHOUSE_ID; LIKE로 경기도에 위치한 조건을 충족시켜주고, IFNULL(컬럼명, NULL값일 때 대체값)을 활용해 문제를 해결해 주면 된다.

Language/SQL 2022.11.11

[프로그래머스] 오프라인/온라인 판매 데이터 통합하기

https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT date_format(SALES_DATE, '%Y-%m-%d') as SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE year(SALES_DATE) = '2022' and month(SALES_DATE) = '3' UNION ALL SELECT date_format(SALES_DATE, '%Y-%m-%d') ..

Language/SQL 2022.11.11

[프로그래머스] 서울에 위치한 식당 목록 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131118 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT a.REST_ID, a.REST_NAME, a.FOOD_TYPE, a.FAVORITES, a.ADDRESS, round(avg(b.REVIEW_SCORE),2) as SCORE FROM REST_INFO a join REST_REVIEW b ON a.REST_ID = b.REST_ID WHERE ADDRESS LIKE '서울%' GROUP BY b.REST_ID ORDER BY SC..

Language/SQL 2022.11.11

[프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING Count(*) >= 2 ORDER BY USER_ID, PRODUCT_ID desc; GROUP BY문과 GROUP BY문의 조건절을 나타내는 HAVING 절을 이용해 USER_ID, PRODUCT_ID로 묶고 count() 함수를 이용해 2개 이상인 ..

Language/SQL 2022.11.11