[Programmers] Lv1. 같은 숫자는 싫어 | Java | Python 프로그래머스 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3,.. 2023. 1. 3.
[Programmers] Lv1. 성격 유형 검사하기 | Java | Python https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 성격유형 : R/T + C/F + J/M + A/N (ex. RCJA) 검사지 : n개의 질문 + 7가지 선택지(매우 비동의 / 비동의 / 약간 비동의 / 모르겠음 / 약간 동의 / 동의 / 매우 동의) 매우 동의 or 매우 비동의 : + 3 동의 or 비동의 : +2 약간 동의 or 약간 비동의 : +1 모르겠음 : +0 모든 질문의 성격유형 더하여 높은 점수가 본인의 성격유형 (단.. 2022. 10. 27.
[백준] 11720번 - 숫자의 합 | Java | Python https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백 없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 제출 1. Java - charAt() import java.util.Scanner; public class P_11720 { public static void main(String[] args) { Scanner sc =.. 2022. 10. 19.
[Programmers] Lv2. 게임 맵 최단거리 문제 바로가기 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 풀이 bfs를 사용해서 최단 거리를 구하고, visit을 확인하면서 갔던 경로는 가지 않도록 함 코드 from collections import deque d = [(-1, 0), (1, 0), (0, -1), (0, 1)] def solution(maps): n, m = len(maps) - 1, len(maps[0]) - 1 Q = deque([(0, 0, 1)]) visit = set([.. 2021. 6. 7.
[Programmers] Lv2. [1차] 뉴스 클러스터링 문제 바로가기 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 풀이 str1과 str2를 모두 소문자로 변경하고, 두 글자씩 끊어서 영문자인 것만 리스트로 만든다. 새롭게 만든 str1과 str2 둘 다 아무것도 존재하지 않는다면 65536을 return 각각의 배열을 set으로 감싸서 같은 값을 제거하고 &(교집합)과 |(합집합)을 사용해 합집합, 교집합을 만든다. 집합을 만드는 과정에서 교집합은 각 str1, str2 배열에서 존재하는 개수의 최솟값의 합을 ans1 각 str1, st.. 2021. 5. 24.
[Programmers] Lv2. 문자열 압축 문제 바로가기 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 풀이 최대 문자열 길이는 원래 문자열의 길이로 설정해두고, 1 ~ 문자열 전체 길이의 반까지 반복문을 돌린다. 기준 문자열(stand)과 개수(cnt)를 설정한 후 중복된 문자열을 찾는 반복문을 수행하는데 만약 기준 문자열과 같다면 개수를 추가해주고, 아니라면 이미 중복된 문자열이 존재할 때는 개수를 문자열로 바꿔서 추가해주고, 중복된 값이 없었다면 그대로 문자열만 추가해준다. 그 후 기준문자열과 개수를 초기화해주고, 반복문이 끝나면 ans.. 2021. 5. 24.
[Programmers] Lv2. 더 맵게 문제 바로가기 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 풀이 heapq를 사용하여 풀었다. 기존의 scoville배열을 heapify를 사용해 heap구조로 바꿔주고, scoville의 원소가 다 사라질 때까지 반복 만약 scoville의 원소가 다 사라져야 반복문이 종료된다면 모든 음식의 스코빌 지수가 K 이상이 될 수 없으므로 -1 그렇지 않다면, scoville의 첫 번째 원소가 K 이상이라면 답을 리턴한다. 이 과정에서 일단 첫 원소를 빼내고, 만약 두 번째 원소가 존재한다면 두 번.. 2021. 5. 24.
[Programmers] Lv2. 오픈채팅방 문제 바로가기 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 먼저, record를 돌면서 들어오거나 변경되는 유저의 아이디와 닉네임을 딕셔너리에 저장하는 과정을 거침 그러면 변경된 이름도 적용되어 있기 때문에, 다시 배열을 돌면서 Enter와 Leave에 해당하는 메시지를 남길 수 있음 코드 def solution(record): answer=[] nickname = {} for i in [i.split(' ') for i in record]: if i[0] != 'Leave': nickname[i[1.. 2021. 5. 24.
[Programmers ] Lv2. 타겟 넘버 문제 바로가기 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 풀이 dfs함수를 통해 인덱스를 증가시키면서 2번의 재귀를 진행(-, +)하고, 만약 idx가 배열의 끝까지 진행되어서 원하는 값이 나왔다면 answer에 추가 코드 answer = 0 def dfs(numbers, target, idx, sum): global answer if idx == len(numbers): if sum == target: answer += 1 return dfs(num.. 2021. 5. 24.
반응형