728x90
반응형

전체 글 222

[Algorithm] 백준 11723번 집합 (Python)

https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 문제 비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오. add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다. remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다. check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20) toggle x: S에 x가 있으면 x를 제거하고..

Algorithm/Baekjoon 2023.02.09

[Python] set() 함수 : 집합

set() 함수 set()은 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. set() 키워드를 그대로 사용하거나 중괄호({ })를 사용하여 표현 가능하다. 중괄호 사용 시 중괄호 자체만으로는 dict를 선언하는 것이므로 주의해야 한다. set()은 리스트, 문자열 모두 입력해 만들 수 있다. 중복을 허용하지 않고 순서가 없다. 순서가 없어 인덱싱으로 값을 얻을 수 없다. 따라서 인덱싱에 접근하고자 할 때는 리스트나 튜플로 변환한 후 접근해야 한다. 특히 교집합, 합집합, 차집합을 구할 때 유용하게 사용할 수 있다. s1 = set([1,2,3]) s1 # {1, 2, 3} s2 = set("Hello") s2 # {'e', 'H', 'l', 'o'} 교집합, 합집합, 차집합 1. 교집합 "&"..

Python 2023.02.08

[Algorithm] 프로그래머스 평균 일일 대여 요금 구하기 (SQL)

https://school.programmers.co.kr/learn/courses/30/lessons/151136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다. Column nameTy..

[SQL] ROUND 함수 : 소수 반올림

ROUND 함수 ROUND 함수는 지정한 자리에서 반올림하는 함수이다. 반올림할 자리 값은 생략 가능하고 default 값은 0이다. 반올림할 자리 값이 양수면 소수 자리에서 반올림한다. 반올림할 자리 값이 음수면 정수 자리에서 반올림한다. 반올림할 자리 값 0은 소수점 첫째 자리이다. 0이 소수점 첫째 자리이므로 1은 소수점 둘째 자리에서 반올림, -1은 정수 첫째 자리에서 반올림하겠다는 의미이다. 사용법 ROUND(숫자 or 열 이름, 반올림할 자리 값) 예시 SELECT ROUND(123.4567) FROM test # 123 SELECT ROUND(123.5567) FROM test # 124 SELECT ROUND(123.5567, 0) FROM test # 124 SELECT ROUND(123..

SQL 2023.02.08

[Algorithm] 프로그래머스 문자열 나누기 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 ..

[Algorithm] 백준 10974번 모든 순열 (Python)

https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력 첫째 줄부터 N! 개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. 예제 입력 1 3 예제 출력 1 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 풀이 설명 python에 내장된 itertools 패키지의 permutations 모듈을 사용하면 쉽게 풀 수 있다. 사용법 : https://techblogs...

Algorithm/Baekjoon 2023.02.08

[Python] sort(), sorted()를 이용한 리스트 정렬

sort() 함수 list.sort() 메서드는 리스트 객체 자체를 정렬해주는 함수이다. 리스트에서만 사용 가능하며 매개변수로 reverse를 받는다. 기본적으로 리스트를 오름차순으로 정렬해준다. 매개변수인 reverse는 옵션으로 이의 default 값은 False이다. 오름차순으로 정렬하고 싶은 경우, list.sort()와 같이 매개변수를 쓰지 않거나 list.sort(reverse = False)와 같이 쓴다. 내림차순으로 정렬하고 싶은 경우, list.sort(reverse = True)와 같이 쓴다. 리스트 요소를 길이 순으로 정렬하고 싶은 경우, 매개변수로 key를 받는다. key=len num = [3, 2, 1, 5, 4] num.sort() # 오름차순 정렬 print(num) # [1..

Python 2023.02.07

[Algorithm] 백준 2309번 일곱 난쟁이 (Python)

https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다. 아홉 난쟁이의 키가 주어졌을 때, 백설공주를 ..

Algorithm/Baekjoon 2023.02.07

[Algorithm] 프로그래머스 둘만의 암호 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd",..

[Algorithm] 백준 6588번 골드바흐의 추측 (Python)

https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 문제 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 ..

Algorithm/Baekjoon 2023.02.07
728x90
반응형