본문 바로가기

TIL (Today I Learned)/코딩테스트 연습7

[프로그래머스 C#] Lv.2 유사 칸토어 비트열 가독성을 위해서 문제 설명은 생략합니다. 링크를 통해 확인해 주세요. https://school.programmers.co.kr/learn/courses/30/lessons/148652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ✏️ using System; public class Solution { public int solution(int n, long l, long r) { int answer = 0; for(l--;l (l-1) c == '1'); return answer; } private string makeCantor(int n, s.. 2024. 4. 6.
[프로그래머스 C#] Lv.2 혼자 놀기의 달인 가독성을 위해서 문제 설명은 생략합니다. 링크를 통해 확인해 주세요. https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 ✏️ using System; using System.Collections.Generic; public class Solution { public int solution(int[] cards) { bool[] checkedBox = new bool[cards.Length]; Array.Fill(checkedBox, fal.. 2024. 4. 5.
[programmers] 같은 숫자는 싫어 가독성을 위해서 문제 설명은 생략합니다. 링크를 통해 확인해 주세요. 지난 포스팅에서 자바스크립트의 Array 메서드를 알아봤습니다. 이번에는 Array 메서드를 사용하며 발생했던 오류와 그 이유에 대해서 작성해 보겠습니다. 예시로 들 문제는 프로그래머스 레벨 1 문제 '같은 숫자는 싫어'입니다. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력받는 매개변수는 "Array 객체" 반환해야 하는 값은 조건을 만족하는 "Array.. 2023. 9. 6.
[백준 18405번] BFS : 너비 우선 탐색, 그래프 이론 이 문서는 전문적이지 않습니다. https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 입력 : 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치에 존재하는 바이러스의 번호가 공백을 기준으로 구분되어 주어진다. 단, 해당 위치에 바이러스가 존재하지 않는 .. 2022. 11. 18.
[백준 2468번] 런타임 에러(RecursionError), Boolean Table 과 메모리. 이 문서는 전문적이지 않습니다. 입력 : 첫째 줄에는 어떤 지역을 나타내는 2차원 배열의 행과 열의 개수를 나타내는 수 N이 입력된다. N은 2 이상 100 이하의 정수이다. 둘째 줄부터 N개의 각 줄에는 2차원 배열의 첫 번째 행부터 N번째 행까지 순서대로 한 행씩 높이 정보가 입력된다. 각 줄에는 각 행의 첫 번째 열부터 N번째 열까지 N개의 높이 정보를 나타내는 자연수가 빈 칸을 사이에 두고 입력된다. 높이는 1이상 100 이하의 정수이다. 출력 : 첫째 줄에 장마철에 물에 잠기지 않는 안전한 영역의 최대 개수를 출력한다. 배열속에 있는 다양한 배열을 여러 조건에서 탐색해야한다. #1 그림으로 그리면서 필요할것 같은 함수를 적어가며 코드를 쓰기 전에 간략하게 스케치했다. 이렇게 하니 어느부분을 수정.. 2022. 11. 2.
[백준 10819번] 리스트 복사와 메모리에 대한 고민. 재귀 함수를 활용하여 문제를 풀어보자./22.11.01 이 문서는 전문적이지 않습니다. 입력 : 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. 출력 : 첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다. 해당 문제는 배열에 들어있는 요소를 활용하여 수많은 경우의 수를 탐색해야한다. #1 사실 단번에 '맞았습니다!!' 라는 텍스트가 뜨니까 조금 어색했다. 앞으로는 자주 보자. import sys n = int(sys.stdin.readline()) listI = list(map(int,sys.stdin.readline().rstrip().split(' '))) # 차이를 절대값으로 리턴해주는 함.. 2022. 11. 2.
[백준 10989번] Counting sort, 메모리 초과, PyPy3 와 Python3 / 22.10.31 이 문서는 전문적이지 않습니다. 입력 : 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 : 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 해당 문제는 제한 중 "8 MB" 메모리 제한이 있다. #1 첫 시도, 빠르게 정렬하는 도수 정렬을 통해 문제를 해결하고자 했다. 도수 정렬을 위해서는 다음과 같은 알고리즘을 통해 만들어준다. 1. 도수 분포표 만들기 2. 누적 도수 분포표 만들기 3. 작업용 배열 만들기 4. 배열 복사하기 import sys n = int(sys.stdin.readline()) listQ = [] for i in range(n).. 2022. 10. 31.