문제 https://www.acmicpc.net/problem/9663 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 접근 방법 백트레킹 문제. dfs로 접근하되, 필요없어 보이는 노드는 무시하며 탐색(프루닝) 처음엔 2차원 배열로 둘 수 있는 공간 true 둘 수 없으면 false 로 두고 채크하는식으로 풀었는데 시간초과.. 불필요한 부분들 줄여가면서 라인 한줄만 체크하면 된다는걸 알게되서 대각선 체크를 굳이 다 하지 말고 depth 한칸당 좌우 shift를 해줌으로써 해결 코드 풀이 1 (시간초과 ㅠ) 풀이 2(통과)
문제 https://www.acmicpc.net/problem/1780 n*n 크기의 수를 입력받음 (n받고, n 만큼 한라인씩 입력받음) 각 칸에는 -1, 0 , 1 중 하나의 값을 입력받음 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다. (1)이 아닌 경우에는 종이를 같은 크기의 9개의 종이로 자르고, 각각의 잘린 종이에 대해서 (1)의 과정을 반복한다. 이런 식으로 종이를 잘랐을 때, -1로만 채워진 종이의 개수, 0으로만 채워진 종이의 개수, 1로만 채워진 종이의 개수를 구해내는 프로그램을 작성 접근 방법 음.. 1번 2번 로직대로 메소드를 짜고 while 돌리면 되지 않을까? 종이가 같거나 라인크기가 3일때 계산 후 나오고.. 범위가 크기 때문에 dfs으로 해야할 것 같기도..
문제 a = 2차원 배열(행렬처럼) b = 2차원 배열(행렬처럼) 행렬 a*b 를 2차원배열 행렬처럼 해서 array 리턴 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 arr1 arr2 return [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] 풀이 순서대로 곱해서 리턴...
문제 길이가 같은 배열 a, b가 있음 각 배열 에서 한개의 숫자를 뽑아 두수를 곱하는데(중복 x) 이걸 배열 크기만큼 반복해줌 나온값들의 합이 최솟값이 되는 합을 리턴하는 문제 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 두번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21) A에서 세번째 숫자인 2, B에서 첫번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 21 + 8(2x4) = 29) 제한사항 배열 A, B의 크기 : 1,000 이하의 자연수 배열 A, B의 원소의 크기 : ..
문제 탑처럼 생긴 블록안의 숫자들은 반시계방향 말리는 꼴로 숫자들이 채워져 있는데, 이를 1층, 2층, 3층... n층 순으로 순서대로 합친 새로운 array를 return하는 문제 접근방법 규칙..은 없는 것 같다 n층의 한 변의 길이는 n이고 3개 변으로 삼각형 만들어보니 중복 꼭지점 3개가 있음으로 3n-3 이 아랫칸 오른쪽 갯수.. 인데 이걸로 안될려나.. 우선 다 뿌려보자 풀이 삼각형의 총 칸 수를 구하고, 그만큼 돌렸습니다; 삼각형이라는 이차원 배열을 선언을 해주고 이 안에 규칙에 따라 돌려주면서 데이터를 넣어준 뒤 생성한 이차원 배열을 flatMap으로 펴주었습니다 ㅋ.. 좀 바보같이 풀었나.. 싶었는데 다른분들 풀이 보니 결국 다 돌린 것 같더라구요 코드
- Total
- Today
- Yesterday
- today extension
- 아키택처
- RxDataSource
- 1차 뉴스 클러스터링
- BaseTableViewController
- 프로그래머스 캐시
- Widget
- 백준 신입사원
- 알고리즘
- Github Search
- VIPER 패턴
- ReactorKit
- 프로그래머스 오픈채팅방
- BaseViewController
- 위젯
- 백준 1946
- Swift
- 카카오 블라인드 2018
- 카카오블라인드2018
- UIModalPresentationStyle
- ios
- 카카오 블라인드2018
- Stack
- RxSwift
- 프로그래머스 추석트래픽
- 자기PR
- TransitionStyle
- presentStyle
- 괄호연산
- Level 3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |