알고리즘 테스트 ⏲
-
문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 ..
[KAKAO RECRUITMENT] 문자열 압축 풀이 / Python문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 ..
2022.07.05 -
문자열 재정렬 [문제] 알파벳 대문자와 숫자 (0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이 입력으로 들어오면, ABCKK13을 출력합니다. [입력] K1KA5CB7 [출력] ABCKK13 [입력] FDSARQWER13579 [출력] ADEFQRRSW25 내 풀이 arr = list(input()) arr.sort() idx, digit = 0, 0 if any(map(str.isdigit, arr)): for i in arr: if i.isdigit(): idx += 1 digit += int(i) arr = arr[idx:] arr.append(digit)..
[구현] 문자열 재정렬 풀이문자열 재정렬 [문제] 알파벳 대문자와 숫자 (0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이 입력으로 들어오면, ABCKK13을 출력합니다. [입력] K1KA5CB7 [출력] ABCKK13 [입력] FDSARQWER13579 [출력] ADEFQRRSW25 내 풀이 arr = list(input()) arr.sort() idx, digit = 0, 0 if any(map(str.isdigit, arr)): for i in arr: if i.isdigit(): idx += 1 digit += int(i) arr = arr[idx:] arr.append(digit)..
2022.07.03 -
18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 개인 풀이 arr = list(map(int, input())) print("LUCKY") if sum(arr[:len(arr) // 2]) == sum(arr[len(arr) // 2:]) else print("READY") array를 반으로 인덱싱하여 각 배열의 원소를 합한 결과를 비교해 동일한 경우 "LUCKY"를, 그렇지 않은 경우 "READY"를 출력하면 정답 판정을 받을 수 있다.
[백준 18406] 럭키 스트레이트 풀이 / Python18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 개인 풀이 arr = list(map(int, input())) print("LUCKY") if sum(arr[:len(arr) // 2]) == sum(arr[len(arr) // 2:]) else print("READY") array를 반으로 인덱싱하여 각 배열의 원소를 합한 결과를 비교해 동일한 경우 "LUCKY"를, 그렇지 않은 경우 "READY"를 출력하면 정답 판정을 받을 수 있다.
2022.07.03 -
졸업작품한다고 준비는 못했으나.. 경험삼아 한번 나가본 작은 지역대회. 총 3문제, 90분 시간제한으로 출제되었는데 코딩테스트 문제를 거의 풀어보질 않아서 많이 어려웠다. 첫번째는 문자열 관련, 두번째는 당시엔 몰랐는데 DFS유형이라하고, 세번째는 아예 접근을 못해서 기억도 안난다. 좋은 경험 했다고 치자.. 저작권 문제로 문제 내용 생략. 풀이1 n, k = map(int, input().split()) arr = list(map(int, input().split())) idx, cnt = 0, 0 for _ in range(n // 3): if sum(arr[idx:idx + 3]) >= k: cnt += 1 idx += 3 print(cnt) 풀이2 n, m = map(int, input().spl..
2022 ICT 코딩경진대회 문제 풀이 후기졸업작품한다고 준비는 못했으나.. 경험삼아 한번 나가본 작은 지역대회. 총 3문제, 90분 시간제한으로 출제되었는데 코딩테스트 문제를 거의 풀어보질 않아서 많이 어려웠다. 첫번째는 문자열 관련, 두번째는 당시엔 몰랐는데 DFS유형이라하고, 세번째는 아예 접근을 못해서 기억도 안난다. 좋은 경험 했다고 치자.. 저작권 문제로 문제 내용 생략. 풀이1 n, k = map(int, input().split()) arr = list(map(int, input().split())) idx, cnt = 0, 0 for _ in range(n // 3): if sum(arr[idx:idx + 3]) >= k: cnt += 1 idx += 3 print(cnt) 풀이2 n, m = map(int, input().spl..
2022.06.26 -
지뢰찾기 게임 구현 익숙한 지뢰찾기 게임 프로그램을 구현했다. 마인이 들어있는 데이터 테이블과 유저에게 보이는 스크린 테이블을 따로 만들어 작성했고 지뢰가 아닌 칸에 대해서는 주변 마인의 수를 탐지해 탐지한 마인 수를 띄우고 개수가 0인 칸을 누르게 되면 탐색을 통해 최대한 많은 빈칸들이 열리도록 작성했다. 개인풀이 다이어그램 알고리즘 const $tbody = document.querySelector(".table tbody"); const $result = document.querySelector(".result"); const mineCnt = 10; const row = 10; const col = 10; let opened = 0; // 데이터 테이블 생성 const dataTableLinear..
[JavaScript] 지뢰찾기 게임 구현지뢰찾기 게임 구현 익숙한 지뢰찾기 게임 프로그램을 구현했다. 마인이 들어있는 데이터 테이블과 유저에게 보이는 스크린 테이블을 따로 만들어 작성했고 지뢰가 아닌 칸에 대해서는 주변 마인의 수를 탐지해 탐지한 마인 수를 띄우고 개수가 0인 칸을 누르게 되면 탐색을 통해 최대한 많은 빈칸들이 열리도록 작성했다. 개인풀이 다이어그램 알고리즘 const $tbody = document.querySelector(".table tbody"); const $result = document.querySelector(".result"); const mineCnt = 10; const row = 10; const col = 10; let opened = 0; // 데이터 테이블 생성 const dataTableLinear..
2022.02.12 -
카드 맞추기 구현 문제 처음 12장의 카드를 잠깐 기억했다가 뒤집은 후 색상이 같은 2장의 카드를 짝지어 모든 카드를 맞추는 프로그램이다. 클릭했을 때 클릭한 카드의 패밀리 노드 중 특정한 클래스를 가진 노드들을 가져와 해당 노드의 색상을 비교해 맞추어가는 방식으로 동작한다. 구현에 어려움은 없었는데 parent와 child 노드를 왔다갔다 하는 부분들이 많다. 이 부분에 더 좋은 구현 방법이 있을 것 같은데. 개인풀이 다이어그램 알고리즘 const $cards = document.querySelectorAll(".card"); const $cardsFront = document.querySelectorAll(".card__face--front"); const colorPack = [ "orange", ..
[JavaScript] 카드 맞추기 프로그램 구현카드 맞추기 구현 문제 처음 12장의 카드를 잠깐 기억했다가 뒤집은 후 색상이 같은 2장의 카드를 짝지어 모든 카드를 맞추는 프로그램이다. 클릭했을 때 클릭한 카드의 패밀리 노드 중 특정한 클래스를 가진 노드들을 가져와 해당 노드의 색상을 비교해 맞추어가는 방식으로 동작한다. 구현에 어려움은 없었는데 parent와 child 노드를 왔다갔다 하는 부분들이 많다. 이 부분에 더 좋은 구현 방법이 있을 것 같은데. 개인풀이 다이어그램 알고리즘 const $cards = document.querySelectorAll(".card"); const $cardsFront = document.querySelectorAll(".card__face--front"); const colorPack = [ "orange", ..
2022.02.10