2021 KAKAO BLIND RECRUITMENT 코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 조건을 단계별로 따라가면서 구현하면 된다. def solution(new_id): answer = '' # 1단계 new_id = new_id.lower() # 2단계 for word in new_id: if word.isalnum() or word in '-_.': answer += word # 3단계 while ..
9012번: 괄호 (acmicpc.net) 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 옛날에 계산기 구현할 때 괄호랑 연산자 처리할 때 스택을 썼던거 같았는데 기억이 잘 안나서,, 나는 다음과 같은 규칙을 이용하여 풀었다. 1. '('의 개수가 항상 더 많거나 같아야한다. 2. 최종적으로 '('와 ')'의 개수가 같아야한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea..
9093번: 단어 뒤집기 (acmicpc.net) 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net Java에서 문자열을 조작해보자~ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { Bu..
Summer/Winter Coding(2019) 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr SELECT A.CART_ID FROM (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Yogurt') A INNER JOIN (SELECT CART_ID FROM CART_PRODUCTS WHE..
Summer/Winter Coding(2019) 코딩테스트 연습 - 멀쩡한 사각형 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 초5 수학 경시대회를 풀 수 있는 수학적 능력이 요구된다,,,ㅎ [초5경시] 대각선이 지나는 격자점의 개수 -청주 금천동(금천광장) 수학학원 ★오르비수학★ : 네이버 블로그 (naver.com) [초5경시] 대각선이 지나는 격자점의 개수 -청주 금천동(금천광장) 수학학원 ★오르비수학★ -금천동(금천광장)..
2021 Dev-Matching: 웹 백엔드 개발자(상반기) 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr def solution(lottos, win_nums): count = 0 blank = 0 for l in lottos: # 알아볼 수 없는 번호 if l == 0: blank += 1 # 알아볼 수 있는 번호 else: # 번호가 일치 할 경우 if l..
📌 코딩테스트 연습 - 거리두기 확인하기 | 프로그래머스 (programmers.co.kr) ✔️ 맨해튼 거리 T1 (r1, c1), T2 (r2, c2)일때, T1, T2 사이의 맨해튼 거리는 |r1 - r2| + |c1 - c2| 이다. → 맨해튼 거리가 2 = 좌표를 두번 이동하는 거리 ✔️ 파이썬에서는 String이 시퀀스 타입이므로 인덱스로 접근할 수 있다. → 내부적으로 리스트로 취급된다. → 1번 대기실의 (0, 0) = places[0][0][0] 📁 풀이!! 1. "P" 일 경우 - 상하좌우 확인 - 맨해튼거리 1 - "X" : continue - "P" : return 0 - 상하좌우 확인 다시 반복 - 맨해튼거리 2 2. 모두 통과할 경우 return 1 📌 python code
파이썬에서는 2진수, 8진수, 10진수, 16진수로 쉽게 변환할 수 있도록 내장함수가 포함되어 있다. 하지만 3진수나 4진수와 같이 다른 진수로 변환하고자 한다면 직접 구현을 할 수 밖에 없다. 1. 파이썬 내장 함수 [PYTHON] 파이썬 10진수 변환(2진수,8진수,16진수) (tistory.com) 2. 10진수 → n진수 2-1. 10진수를 n진수로 변환하기(2진수-16진수) def convert_notation(n, base): T = "0123456789ABCDEF" q, r = divmod(n, base) return convert_notation(q, base) + T[r] if q else T[r] print(convert_notation(233, 3)) * divmod 함수 : [Pyt..
소수란? 2보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 나누어 떨어지지 않는 자연수 1. 2부터 n-1까지 모두 확인해보기 def is_prime_number(x): # 2부터 (x-1)까지의 모든 수를 확인 for i in range(2, x): # x가 해당 수로 나누어 떨어지면 if x % i == 0: return False # 나누어 떨어지는 경우가 없으면 return True 시간복잡도 : O(x) → x의 크기가 크면 비효율적 2. 2부터 제곱근까지만 확인해보기 예) 16의 약수 : [1, 2, 4, 8, 16] 해당 수를 살펴보면 가운데 수를 기준으로 대칭적으로 곱을 통해 16을 만들 수 있다. 이를 통해, 소수의 절반에 해당하는 제곱근까지만 살펴보면 소수 판별이 가능하다는 ..