분류 전체보기 574

[Python] 백준 풀기 1629 - 곱셈

파이썬 백준 1629번 실버1 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 문제 보기 분류: 수학, 분할 정복을 이용한 거듭제곱 문제 풀기 일단 수학적 이해가 우선시되는 문제였다. 백준의 분할 정복 묶음에서 맵 형식만 다루다 보니까 어떤 식으로 접근을 해야 하는지 감이 오지 않았다. 그래서 다른 풀이를 참조를 하였고 거듭제곱 꼴이니 이를 곱셈 분할로 다가가면 된다는 것을 쉽게 이해할 수 있었다. 하지만, 코드의 진행을 따라가도 이해되지 않는 부분이 있었는데 그것은 나머지에 대한 부분이었다. 나머지 분배 법..

카테고리 없음 2022.10.14

[Python] 백준 풀기 10816 - 숫자 카드 2

파이썬 백준 10816번 실버4 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 보기 분류: 자료 구조, 정렬, 이분 탐색, 해시를 사용한 집합과 맵 문제 풀기 이전에 풀었던 1920번 수 찾기 문제의 변형이다. 주어진 카드 범위에 대해 이분 탐색을 하여 원하는 숫자를 찾아 나가지만 답안으로 제출이 필요한 것은 그 수의 개수이다. 그 또한 중복된 숫자의 카드가 존재하기 때문에 이 부분을 해결하는데 쉽게 아..

공부하기/백준 2022.10.13

[Flutter] 앱 릴리즈 하려는데 Execution failed for task 뜰 때

Generate Signed Bundle 안됨 VS Code 에서 플러터 앱을 작성하고 안드로이드 스튜디오에서 기존에 작성된 앱을 업데이트하여 버전 업된 Build > Generate Signed Bundle 을 하려는데 먹통이 되었다. 원래대로라면 팝업이 뜨고 앱 key store 에 비밀번호를 입력해야 하는데 여기서 일단 문제 발생. 이 문제는 flutter upgrade 및 android studio 빌더였나.. 둘을 업데이트 하니 해결되었다. Execution failed for task ':app:compileFlutterBuildRelease'. 메시지 뜸 이후, 다시 앱 빌드를 하려는데 Execution failed for task ':app:compileFlutterBuildRelease'..

[Python] 백준 풀기 1780 - 종이의 개수

파이썬 백준 1780번 실버2 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 문제 보기 분류: 분할 정복, 재귀 문제 풀기 기존에 풀었던 2630번 문제 색종이 만들기와 같은 방식의 풀이이다. https://xcevor.tistory.com/56 [Python] 백준 풀기 2630 - 색종이 만들기 파이썬 백준 2630번 실버2 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는..

공부하기/백준 2022.10.12

[Python] 백준 풀기 1920 - 수 찾기

파이썬 백준 1920번 실버4 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제 보기 분류: 자료 구조, 정렬, 이분 탐색 문제 풀기 이분 탐색 카테고리의 문제이긴 하나 문제를 보자마자 리스트 안의 원소를 찾는 형식의 코드가 바로 떠올랐다. 하지만, 이분 탐색을 배우기 위한 지금의 시간이니 이분 탐색으로 풀어본다. 일단 주어진 N 값들을 sorted() 함수로 오름차순 정렬을 하여 중간 나눌 ..

공부하기/백준 2022.10.11

[Python] 백준 풀기 1992 - 쿼드트리

파이썬 백준 1992번 실버1 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 문제 보기 분류: 분할 정복, 재귀 문제 풀기 이전에 풀었던 2630번 색종이 만들기 문제와 거의 동일하다. https://xcevor.tistory.com/56 [Python] 백준 풀기 2630 - 색종이 만들기 파이썬 백준 2630번 실버2 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체..

공부하기/백준 2022.10.11

[Python] __name__ 을 프린트 해보자

__name__ == "__main__" 에 대해 알아보기 위해 __name__ 을 프린트해본다. 프린트 __name__ 기본적으로 __name__ 을 프린트 문으로 출력해보면 __main__ 이 출력된다. 다음으로 if __name__ == "__main__": 로 감싼 후 프린트해보면 동일하게 __main__ 출력되어 나온다. if 문이 정상적으로 동작했음을 알 수 있다. 두 개로 분리된 파일에서의 __name__ # mainfile.py import funcfile print(funcfile.fnHello("MAIN")) print(f'PRINT __name__ from mainfile: {__name__}') # funcfile.py def fnHello(inputname): return f'He..

알아가기/Python 2022.10.10

[Python] 백준 풀기 2630 - 색종이 만들기

파이썬 백준 2630번 실버2 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 문제 보기 문제 풀기 2차 array 형태로 모든 색종이의 맵을 저장하고 이중 for loop 를 통해 왼쪽 위 구석에서 부터 차례대로 color_check != colorpaper_ls[i][j]: 체크해 나간다. 이 때, 기준이 되는 원소는 맨 처음에 시작하는 왼쪽 위이며, 흰색 또는 파란색과 같은지를 계속 비교해 나간다. 모든 원소에 ..

공부하기/백준 2022.10.10

[Python] 백준 풀기 1541 - 잃어버린 괄호

파이썬 백준 1541번 실버2 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 보기 분류: 그리디 알고리즘, 수학, 문자열, 파싱 문제 풀기 괄호를 적절히 섞어 최소가 되는 값을 찾기 위한 문제이기에 최소가 되기 위해서는 - 항이 많아져야 한다. 이를 위해 수식에서 - 가 나타나면 괄호의 시작으로 하여 모든 + 들을 거쳐 다음 - 가 나오기 전까지 묶어 주면 된다. 이 말인즉슨, - 문자를 기준으로 분리하여 개별적 묶음을 형성하고 첫..

공부하기/백준 2022.10.09

[Python] 백준 풀기 11399 - ATM

파이썬 백준 11399번 실버4 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 보기 분류: 그리디 알고리즘, 정렬 문제 풀기 줄 서있는 각 사람마다 특정 인자가 더 언급되지 않을까 했는데 그런건 없었다. 그래서 사람의 특성은 생각하지 않고 인출 시간만 고려하면 되기에 고민없이 코드를 작성할 수 있었다. 리스트로 인출 시간을 모두 입력 받은후 오름차순으로 정렬을 한다. 그리고, 지정해준 사람 수 N 개에 대해 for 문을 돌리면 되는데 변수 N 은 사용하지 않고 리스트..

카테고리 없음 2022.10.08