문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 ..
문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다. ..
문제 설명 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 제한 사항 n은 1,000,000 이하의 자연수 입니다. 입출력 예 n result 78 83 15 23 입출력 예 설명 입출력 예#1 문제 예시와 같습니다. 입출력 예#2 15(1111)의 다음 큰 숫자..
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 입출력 예 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. solution n의 값이 매우 큽니다. 단일 for 문을 사용해서 문제를 풀 수 있겠지만 메모리 효율이 매우 떨어질 가능성이 높습니다.(이로 인해 틀린 답이 될 수도 ..
생성 list = [1, 2, 3, 4] 리스트 슬라이싱 : x index부터 (y - 1) index까지의 리스트를 반환 합니다. a[x:y] 리스트 길이 구하기(string도 사용 가능합니다) len(list) 원소의 추가 삭제는 다른 글에서 다뤘으므로 대충만 적겠습니다. #원소 추가 list.append(x) list.insert(index, x) #원소 삭제 del list[index] list.remove(value) list.pop() #마지막 원소 삭제 후 반환 정렬 : 기본적으로는 오름차순으로 정렬합니다. sorted(list) list.sort() #내림차순 sorted(list, reverse=True) list.sort(reverse=True) list.sort()는 리스트형의 메소드..
10진수로 변환 int(string, n) : n진수인 string 문자를 10진수로 변환합니다. 10진수에서 2, 8, 16 진수로 변환 bin(x) : int x를 2진수로 변환합니다. oct(x) : int x를 8진수로 변환합니다. hex(x) : int x를 16진수로 변환합니다. *변환된 결과는 모두 string 타입이며, 진수를 나타내는 0b, 0o, 0x가 붙어서 나옵니다. 따라서 숫자로 사용하려면 int(bin(x)[2:])처리를 해주면 됩니다.
string.upper() : string을 대문자로 변환 string.lower() : string을 소문자로 변환 upper()와 lower()은 비파괴적 함수로 변환 결과 문자열을 반환합니다. 또한, 알파벳이 아닌 문자가 있어도 상관없으며 알파벳만 대/소문자로 변환해줍니다. string.isupper() : string이 대문자인지 확인 string.islower() : string이 소문자인지 확인 모든 문자가 대/소문자여야하며, 알파벳이 아닌 문자가 들어있을 경우 False를 반환합니다. 공백이 포함되어 있는 알파벳 문자열은 가능하지만, 공백만 들어있는 경우에는 False를 반환합니다. string.title() : 띄어쓰기를 기준으로 첫 글자는 대문자로, 나머지 글자는 소문자로 변환 Jaden..
1. list 원소 추가 - list.append(x) : 마지막 인덱스에 x 추가합니다 - list.inser(index, x) : index에 x 추가(기존 원소들은 index부터 한 칸씩 뒤로 밀림)합니다 - list1 + list2 : list1 뒤에 list2를 붙여줍니다. 2. list 원소 삭제 - del list[index] : index의 원소 삭제합니다 - list.pop() : 마지막 원소 삭제합니다 - list.remove(x) : x 값을 가진 원소 삭제, x가 없으면 ValueError 발생합니다 -> del list[list.index(x)] : remove와 동일한 효과가 나옵니다
- Total
- Today
- Yesterday
- 6팀
- AWS
- 해커톤
- 파이썬
- server
- python
- test
- 알고리즘
- 회고
- 백엔드
- 디프만
- Grafana
- tdd
- 리빙랩
- 서버
- 글또
- 육.지.행
- 모니터링
- 연합 동아리
- 인프런
- it 동아리
- 글로컬
- 스터디
- Loki
- 중간발표
- spring boot
- 15기
- 프로그래머스
- 육지행
- 10기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |