본문 바로가기
[C#][프로그래머스] 문자열 나누기 프로그래머스 > 코딩테스트 연습 > 연습문제 > 문자열 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/140108 📒 문제문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다.이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다.s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다.만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분.. 2024. 8. 23.
[C#][프로그래머스] 카드 뭉치 프로그래머스 > 코딩테스트 연습 > 연습문제 > 카드 뭉치 https://school.programmers.co.kr/learn/courses/30/lessons/159994 📒 문제코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다.원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다.한 번 사용한 카드는 다시 사용할 수 없습니다.카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", ".. 2024. 8. 22.
[알고리즘] 삽입 정렬 (Insertion Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념삽입 정렬은 수열의 왼쪽부터 순서대로 정렬한다. 알고리즘의 진행에 따라 왼쪽에는 숫자가 점차 정렬되고, 오른쪽에는 아직 확인 하지 않은 숫자가 남는다. 오른쪽의 미탐색 영역에서 숫자를 하나씩 꺼내서 정렬이 끝난 영역의 적절한 위치에 삽입해 나가며 정렬을 완성한다. 예시로 살펴 보겠다.1부터 9까지 랜덤으로 정렬된 수열이 있다. 처음에는 왼쪽 끝의 숫자 2를 정렬이 끝난 것으로 보고 넘어간다.2는 정렬이 완료된 상태며 이렇게 1라운드를 종료한다. 2라운드부터는 탐색하지 않은 숫자를 .. 2024. 8. 21.
[C#][프로그래머스] 문자열 내 마음대로 정렬하기 프로그래머스 > 코딩테스트 연습 > 연습문제 > 문자열 내 마음대로 정렬하기 https://school.programmers.co.kr/learn/courses/30/lessons/12915 📒 문제문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한사항strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소.. 2024. 8. 21.
[C#][프로그래머스] 3진법 뒤집기 프로그래머스 > 코딩테스트 연습 > 월간 코드 챌린지 시즌1 > 3진법 뒤집기https://school.programmers.co.kr/learn/courses/30/lessons/68935 📒 문제자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예nresult457125229 입출력 예 설명 입출력 예 #1답을 도출하는 과정은 다음과 같습니다.n (10진법) n (3진법)앞뒤 반전(3진법)10진법으로 표현45120000217따라서 7을 return 해야 합니다.입출력 예 #2답을 도출하는 과정은 다음과 같습니다... 2024. 8. 20.
[C#][프로그래머스] 최대공약수와 최소공배수 프로그래머스 > 코딩테스트 연습 > 연습문제 > 최대공약수와 최소공배수 https://school.programmers.co.kr/learn/courses/30/lessons/12940 📒 문제두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한사항두 수는 1이상 1000000이하의 자연수입니다. 입출력 예nmreturn312[3, 12]25[1, 10] 입출력 예 설명 입출력 예 #1위의 설명과 같습니다.입출력 예 #2자연수 2와 5의 최대공약.. 2024. 8. 19.