프로그래머스

Algorithm/Programmers

프로그래머스 LV0 합성수 찾기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120846 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 자연수 n이 주어질 때, n이하의 합성수의 개수를 반환하는 문제이다. 합성수는 약수의 개수가 3개 이상인 수 이므로 for문을 걸어 처리할 때, 약수의 개수가 3 이상이 되면 for문을 빠져나오는 식으로 코드를 작성했다. def solution(n): answer = 0 for i in range(1, n + 1): cnt = 0 for j in range(1, i + 1): if i..

Algorithm/Programmers

프로그래머스 LV0 수 조작하기 2

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181925 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 정수 배열이 주어지게 해당 정수배열과 조건에 맞는 배열을 만들어 반환하는 문제이다. 딱히 어려움 없이 조건에 맞게 구현만 하면 되는 문제이다. def solution(numLog): answer = [] start = numLog[0] for i in numLog[1:]: if start + 1 == i: answer.append("w") elif start - 1 == i: answ..

Algorithm/Programmers

프로그래머스 LV0 가까운 1 찾기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 정수 배열 arr와 idx가 주어질 때, idx보다 크면서 배열의 값이 1인 가장 작인 인덱스를 반환하는 함수를 작성하는 문제이다. 문제를 해결하기 전에 조건을 보면 "idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하라"라는 조건이 있는데 테스트 케이스에 직접 코드를 넣어보면 이문제는 "idx보다 크거나 같은 배열의 값이 1인 가장 작인 인덱스를 찾아 반환" 해야 ..

Algorithm/Programmers

프로그래머스 LV0 특별한 이차원 배열2

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181831 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열 arr이 매개변수로 주어 질 때, arr이 arr [i][j] == arr [j][i]을 만족한다면 1을 아니라면 0을 반환하는 함수를 작성하는 문제이다. 특별한 이차원 배열 1 문제와는 다르게 그냥 배열을 순회하면서 다른 부분이 있다면 즉각적으로 0을 반환하고 아니면 1을 반환하는 형식으로 문제를 해결하면 된다. def solution(arr): for i in range(le..

Algorithm/Programmers

프로그래머스 LV0 잘라서 배열로 저장하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 구하는 문제이다. 우리가 일반적으로 파이썬에서 리스트에 있는 값에 접근할 때에는 list [a]처럼 인덱스에 접근하여 값을 찾곤 한다. 하지만 이렇게 접근하게 되면 리스트 밖의 인덱스에 접근할 때 오류를 반환하게 된다. 하지만 이를 우회적으로 해결할 수 있는 문제가 있는데 바로 리스트 슬라이싱 기..

Algorithm/Programmers

프로그래머스 LV0 특별한 이차원 배열1

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181833 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 정수 n이 매개변수로 주어질 때, 다음과 같은 n x n 크기의 이차원 배열을 구하는 함수를 작성하는 문제이다. 규칙성을 찾아서 n일 때마다 원소가 1로 바뀌는 것을 주의해서 함수를 작성한다. def solution(n): answer =[] for i in range(n): temp = [] element = [0] * n element[i] = 1 temp.append(elemen..

Algorithm/Programmers

프로그래머스 LV0 가까운 수

문제 https://school.programmers.co.kr/learn/courses/30/lessons/120890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 정수 배열 array, 정수 n이 주어질 때, array에 들어있는 정수 중에서 n과 가장 가까운 수를 반환하는 문제이다. 나 같은 경우 case 리스트를 만들어 array배열을 순회하면서 array배열의 요소와 n을 뺀 값의 절대값한 값들을 모은 다음 그 중에서 제일 적은 수의 인덱스를 찾아 array에 그대로 대입하여 문제를 해결 하였다. 해당 문제를 해결하기 위해서는 가장 가까운..

Algorithm/Programmers

프로그래머스 LV2 [1차] 캐시

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음에 문제를 읽고 조금 당황했었는데 LRU(Least Recently Used) 알고리즘을 이용하여 문제를 풀이하라고 했기 때문이다. 그래서 혹시 이런 알고리즘 류를 외워서 풀어야 하는가 했으나, 커뮤니티에 의하면 해당 테스트 쳤을 당시에 검색을 통해 알고리즘 참고하여 문제를 했다고 적혀 있길래 나도 LRU 알고리즘을 검색하여 이해한 후 문제를 풀이하였다. LRU 알고리즘은 가장 오랫..

Algorithm/Programmers

프로그래머스 LV0 접미사인지 확인하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181908 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 주어진 문자열의 접미사가 맞는지 확인하는 문제이다. 파이썬에서는 접두사, 접미사를 확인하기 위해 제공되는 함수인 startswith, endswith을 제공하고 있다. 사용하는 방법은 아래와 같다. 🖥️ main.py name = "정해원" print(name.startswith("정")) # True print(name.endswith("원")) # True 이를 이용하..

JHeaon
'프로그래머스' 태그의 글 목록