목록취준기록 (14)
베지밀

문제전형적인 시뮬레이션, 완전 탐색 문제 💡아이디어- 움직일 수 있는 경우의 수는 규칙에 따라 다음과 같다move = [(-1, -2), (-1, 2), (-2, -1), (-2, 1), (1, -2), (1, 2), (2, -1), (2, 1)] - 입력 1번 당 move를 한 번 씩 검사하면 되므로 시간 복잡도는 O(1) => 상수 시간 안에 계산이 가능함! - 열과 행을 분리해서 변수 취급함으로써 더 효율적인 접근 가능 👩💻코드location = input()# a1 = 열 행col = ord(location[0]) - ord('a') + 1row = int(location[1])cnt = 0move = [(-1, -2), (-1, 2), (-2, -1), (-2, 1), ..

11723 집합 문제 문제 풀이의 관건set를 사용해서 집합 연산을 수행all, empty와 같이 x값이 주어지지 않는 경우 구분임시로 입력값을 저장하고, 입력값의 개수를 구분하자 정답import sysM = int(sys.stdin.readline())S = set()for _ in range(M): tmp = sys.stdin.readline().split() if len(tmp) == 1: if tmp[0] == 'all': S = set(range(1, 21)) else: S = set() else: cmd = tmp[0] x = int(tmp[1]) if cmd == 'add': S.add(x) if cmd == 'remo..

문제는 다음과 같다. 나는 다음 두 가지 방법으로 풀었다.1. sort()로 정렬해서 첫번째와 마지막 인덱스를 찾는 방법2. min(), max() 함수를 이용하는 방법 #10818#sort()N = int(input())num_list = list(map(int, input().split()))num_list.sort()print(num_list[0], end=' ')print(num_list[N-1])#10818#min(), max()N = int(input())num_list = list(map(int, input().split()))print(min(num_list), end=' ')print(max(num_list))참고로 print(min(num_list), max(num_list))가 더 ..

문제💡아이디어1. 거리 문제이므로 BFS를 떠올렸다. 2. 도시/간선 배열 graph와 거리 배열 distance를 선언했다.graph는 이중 배열로 미리 초기화해두어 for문으로 입력받을 수 있도록 했다.distance는 -1로 초기화하고 출발 노드는 0으로 지정했다. 3. 이동 가능한 모든 노드를 BFS로 확인하며 방문 여부를 체크한다.while queue로 큐가 빌 때까지 반복문을 돌며, 현재 노드를 큐에서 pop하고 인접 노드를 큐에 담아서 거리 정보를 더했다. 4. 거리 정보 체크처음엔 리스트 타입의 check를 떠올렸으나, 메모리의 문제로 불리언 타입의 check 변수로 변경했다. 정답# 백준 18352import sysfrom collections import deque# 도시 개수, 도로..

join 한눈에 정리한 사진 # 없어진 기록 찾기SELECT B.ANIMAL_ID, B.NAMEFROM ANIMAL_INS AS A RIGHT JOIN ANIMAL_OUTS AS BON A.ANIMAL_ID = B.ANIMAL_IDWHERE A.ANIMAL_ID IS NULL; 1. RIGHT JOINSELECT FROM TABLE A RIGHT JOIN TABLE BON A.KEY = B.KEYWHERE A.ANIMAL_ID IS NULL; # 있었는데요 없었습니다SELECT A.ANIMAL_ID, A.NAMEFROM ANIMAL_INS AS A INNER JOIN ANIMAL_OUTS AS BON A.ANIMAL_ID = B.ANIMAL_IDWHERE A.DATETIME > B.DATETIMEOR..

스택을 이용한 문제 '('면 push하고 ')'하면 pop하는 원리를 이용했다. 첫 시도에는 Stack이라는 클래스를 생성해서 만드려고 했는데,클래스 정의하는 걸 안해봐서 자꾸 다른 답이 나왔다 😂 결국 리스트로 스택 구현해서 class 없이 풀었다. 1. '('면 리스트에 append2. ')'면 리스트에서 마지막 값 pop3. pop할 땐 스택의 길이 검사 (len==0?)4. for문으로 문자열 다 돌고 나서 남은 스택 길이 검사 (len!=0) 풀이 코드def solution(s): stack = [] for i in s: if i == "(": stack.append(i) else: if len(stac..

# 흉부외과 또는 일반외과 의사 목록 출력하기SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD,"%Y-%m-%d") AS HIRE_YMDFROM DOCTORWHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'ORDER BY HIRE_YMD DESC, DR_NAME;1. DATE_FORMATDATE_FORMAT(date, format)date : 포맷할 날짜값format : 날짜를 어떻게 포맷할지 # 과일로 만든 아이스크림 고르기SELECT FLAVORFROM FIRST_HALFWHERE TOTAL_ORDER >= 3000 AND FLAVOR IN (SELECT FLAVOR FROM ICECREAM_INFO WHERE INGREDIENT_..

원서 접수 하다보니 어학 성적이 급하게 필요해서 준비하게 된 토익스피킹 ☀️시험 접수나는 빨리 해치워버리고 싶은 마음에ㅎ시험 공부 기간을 2주로 잡고 제일 빠른 시간대로 접수했다.https://www.toeicswt.co.kr/위 사이트에서 접수 가능 근데 2주 전에 접수하려니까 집 근처는 다 마감이라서 지하철 1시간 거리 가서 봄 (그래봤자 우리 학교지만) 목표 : IH(140-150)이과라서 IH면 충분하다고 생각했음 준비기간 : 실질 14일기간은 16일이었지만 사실 넘 바쁜날엔 지하철에서 대충 듣고 끝내느라 10일도 안한 것 같음.. ☀️공부 자료책은 일단 안샀고 유튜브만으로 공부했다 1. 제이크 쌤 파트별 핵심정리로 개념 잡고 가기각잡고 공부할 필요는 없을 것 같고, 들으면서 문항별로 중요한 포..
str = input()newstr = ""for i in str: if ord(i)>=65 and ord(i)=90 and ord(i)내 풀이지만 굉장히 복잡하고 원초적이다 GPT를 통해 알파벳 swap시켜주는 함수를 찾아보았다.str = input()print(str.swapcase()) 1. upper() : 모든 문자열 대문자 변환2. lower() : 모든 문자열 소문자 변환3. capitalize() : 첫글자만 대문자 나머지는 소문자4. title() : 각 단어 첫글자 대문자 변환5. swapcase() : 대문자는 소문자로, 소문자는 대문자로 변환

조금 많이 늦은 합격 후기 🌞요약IT 전공자였고, SQLD 자격증이 있는 상태라 3과목 데이터베이스 구축이 아주 easy했음필기 공부 기간 : 약 1달, 중간중간 많이 놀았음;;실기 공부 기간 : 약 3일.. 문제도 못풀고 갔지만 합격 🌞시험 일정필기 접수 : 6.19~6.22필기 시험 : 7.9합격자 발표 : 8.2실기 접수 : 9.4~9.7실기 시험 : 10.7최종 발표 : 11.15 Q-net 접속이 좀 느리긴 했지만 easy하게 접수 완료불안하시면 PC방에서 하시길 추천드립니다 🌞필기 준비1. 교재 : 2023 시나공 정보처리기사 필기 + 흥달쌤 유튜브7/9 시험이었는데 접수와 시험 사이에 2주밖에 없기 때문에 그냥 6/1부터 넉넉잡고 한달 공부함.CBT만 풀어서 넘기는 사람들도 많지만휴학생..

문제 조건 1. 최초의 날짜 -> MIN(DATETIME) 풀이 SELECT DATETIME FROM ANIMAL_INS WHERE DATETIME = (SELECT MIN(DATETIME) FROM ANIMAL_INS)

문제 조건 1. 가격이 제일 비싼 -> MAX(PRICE) 2. WHERE절을 활용해서 가격이 비싼 칼럼의 모든 정보를 가져와야 함 (단순히 PRICE 열만 업데이트되어선 안된다..) 풀이 SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT) 처음에 아래처럼 썼다가 틀려서 당황했다. SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE) AS PRICE FROM FOOD_PRODUCT 사유 : 단순히 PRICE 칼럼만 MAX값으로 가져와졌기 때문..

문제 조건 2021년 출판 → PUBLISHED_DATE BETWEEN ‘2021-01-01’ AND ‘2021-12-31’ 인문 카테고리 → WHERE CATEGORY = ‘인문’ 출판일 기준 오름차순 정렬 → ORDER BY PUBLISHED_DATE 데이트 포맷 설정 → DATE_FORMAT(PUBLISHED_DATE, ‘%Y-%m-%d’) 풀이 SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK WHERE PUBLISHED_DATE BETWEEN '2021-01-01' AND '2021-12-31' AND CATEGORY = '인문' ORDER BY PUBLISHED_DATE DATE_FORMAT은 ..

문제 조건 1. CAR_TYPE이 SUV인 자동차들 -> WHERE CAR_TYPE='SUV' 2. 평균 일일 대여 요금 소수점 첫째 자리에서 반올림 -> ROUND(AVG(CAR_TYPE), 0) 3. 컬럼명 지정 -> AS AVERAGE_FEE 풀이 SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV' GROUP BY CAR_TYPE 이지하게 풀어버렸다 기타 WHERE CAR_TYPE = 'SUV'와 HAVING CAR_TYPE = 'SUV'가 결과가 동일하게 나온다. 더 생각해볼 필요가 있는 듯 하다.