목록프로그래머스 (34)
DecordRay
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 슬라이싱을 활용할 줄 알면 손쉽게 풀 수 있는 문제 *Tip - 슬라이싱에 대해 알고싶다면? - https://decordray.tistory.com/39 참고 풀이 : 1. s의 길이만큼 반복문을 진행하면서 매 반복 시점마다 s[i]와 같은 문자가 앞에 있는지를 판별하기 위한 chk변수 초기화 2. 내부 반복문(두번째 for문)을 통해 s[i]와 같은 문자가 앞에 있었는지 확인 s[i..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 슬라이싱을 활용할 줄 알면 손쉽게 풀 수 있는 문제 *Tip - 슬라이싱에 대해 알고싶다면? - https://decordray.tistory.com/39 참고 풀이 : 1. food[0]은 항상 1이므로(물이므로) 건너뛰고 1번 인덱스부터 반복문 진행 2. 조건문을 통해 answer에 문자열을 붙여줌 food[i]가 홀수일경우 : str(i) * food[i] - 1 food[i]가 ..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 예시에 나와있는 연산을 그대로 활용하면 되는 문제 풀이 : 1. 무한루프를 돌면서 n < a일 경우 반복문을 종료하도록 종료 조건 설정 2. 매 반복 시점마다 answer에 n(현재 병의 수)을 a로 나눈 몫에 b를 곱한 값을 더해줌 3. 매 반복 시점마다 n = n - (n에서 n을 a로 나눈 나머지를 빼준 값) + (빈 병을 가져가서 받은 병 수)로 최신화 코드 : def so..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 0부터 t문자열의 길이 - (p문자열 길이 + 1) 만큼 반복문을 실행 2. 반복문 실행 하면서 p길이 만큼의 t부분 문자열을 temp에 저장 3. temp와 p를 int형으로 변환 후 크기 비교 코드 : def solution(t, p): answer = 0 for i in range(len(t)-len(p)+1): temp = t[i:i+len(p)] if int(te..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/131705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 3명의 번호를 중복하지 않고 더해서 0이면 answer + 1 해주면 되는 문제. 풀이 : 1. 삼중 반복문을 통해 각 반복문당 한명의 번호를 의미하도록 함 2. i, j, k 가 모두 다를때 임시 변수 temp에 학생별 번호를 더해줌 3. 더한 값이 0이면 answer + 1 코드 : def solution(number): answer = 0 for i in range(len(numb..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. numbers에 있는 원소들을 str 형태로 변환해서 str_arr 리스트에 저장 2. 문자열 원소를 3번 반복해서 이어붙인 후 사전 순으로 내림차순 정렬 why? - [34, 30, 3]을 정렬할 경우 [343434, 333, 303030]이 되므로 [34, 3, 30] 순으로 원하는 결과가 나오기 때문 (int형 크기 비교가 아닌 문자열 사전순 배열이기 때문) 3. 정렬..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 문자열을 활용한 구현 문제 1. userid에 해당하는 nickname을 저장하기 위한 딕셔너리 생성 첫번째 for 문 2. Enter일때 userid에 해당하는 nickname을 dic[userid]에 저장 3. Change일때 userid에 해당하는 nickname을 dic[userid]에 저장(최신화) 두번째 for 문 4. Enter일때와 Leave일때만 해당하는 user..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 사실 문제 자체는 스택/큐로 분류되어 있지만 스택, 큐가 아닌 기본 리스트를 사용해도 시간초과가 발생하지 않는 문제 1. 매 원소마다 다음 원소부터 마지막까지 반복문을 통해 값을 비교하여 prices[i]와 prices[j]를 비교 2. prices[i]와 prices[j]를 비교 시 prices[i]가 prices[j]보다 작거나 같은경우 temp+1 후 반복 3. prices..