알고리즘 풀이
[Phthon] 백준 1158 요세푸스 문제
n,k = map(int,input().split()) data = [i for i in range(1,n+1)] arr = [] num = k - 1 for i in range(n): if len(data) > num: # len(data)-1 >= num:도 가능 arr.append(data.pop(num)) num += k - 1 else: num = num % len(data) arr.append(data.pop(num)) num += k - 1 print("", sep='') # print("", end='') 일차원 리스트에서 k구간만큼 이동한 후 원소를 POP해주어 별도의 리스트에 저장해서 출력해주면됩니다. 핵심 풀이 비법은 구간이동을 num = k - 1로 계산한 후 이 num의 크기가 현..
[C++] 2020 카카오 블라인드 공채 문자열 압축
https://programmers.co.kr/learn/courses/30/lessons/60057# 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 접근 solution 함수에서 다중 for문으로 처리 가능하나 가독성 및 디버깅을 위해 compress 함수를 만들어서 풀이 진행. compress는 길이와 문자열을 매개변수로 받고 길이만큼 문자열을 잘라서 크기를 리턴해줌. compress에서 먼저 비교할 단어를 substr 이용해 bigo문자열에 넣어주고 비교할 문자열을 jstring에 넣어서 2중 ..
[백준] 1051번 숫자 정사각형 (C++)
https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N*M크기의 직사각형이 있다. 각 칸은 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 www.acmicpc.net * 입력받은 숫자들 중에서 4개의 꼭짓점이 모두 같은 정사각형 중에서 최대크기를 구하면 되는 문제입니다. 완전탐색 + 구현 + 몇몇의 조건 주의 처음에 n과 m으로 행과 열의 크기를 알려줍니다. 이때 행열의 크기를 알 수 있고, 행열안에서 최대크기를 가지는 정사각형 또한 구할 수 있습니다. 이 부분에서 저는 실수를 하였는데요. 코드와 예시를 통해 알아보겠습니다. for (int i = 1; i..
[백준] 10819번 차이를 최대로 , 순열문제
https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 입력받은 값을 오름차순 정렬한 후, 순열로 나열해 모든 경우를 탐색하며 조건에 맞는 합이 가장큰 값을 출력해주면 된다. 하지만 처음 접근을 숫자를 하나씩 바꿔보며 문제에 주어진 조건에서의 합이 최대인 경우에 swap을 해주는 경우로 생각했다. 모든 test case를 커버할 수 없어서 최대합이 나오지 않았다. 풀이 #include #include #include #include using namespace st..