본문 바로가기

전체 글337

너무 큰 크기의 배열이 선언되면 실행되지 않는다 아래의 문제에서 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 카드의 풀을 배열로 선언해서 카운트 하려고 하면, 배열의 크기가 1천만이 된다 1천만의 크기를 가진 배열을 선언해서 실행해보니 예상치 못한 에러로 종료가 되었다 혹시나 해서 배열의 크기를 10만으로 줄이니 이번엔 또 잘 돌아간다 찾아보니 배열의 크기가 너무 크면 컴파일러가 프로그램의 실행을 막는다고 한다 이유는 몇가지가 있지만 결국 성능상 효율 문.. 2022. 8. 5.
[백준 10816/c++] 숫자 카드 2 숫자 카드 풀을 배열로 설정하면 배열 크기만 1000만이 넘게 되는데 너무 큰 크기의 배열은 컴파일러가 프로그램의 실행을 막게되어 실패가 뜬다 따라서 배열로 카운트 하면 안되고, map 을 사용해서 풀면 되는 문제이다 수가 워낙 크니 입출력 속도 향상을 위해 ios_base::sync_with_stdio(false)를 넣어주자 + 다른 사람들의 풀이를 보니 카드의 수를 벡터에 넣고 정렬 후 upper_bound, lower_bound 함수를 써서 인덱스 차이로 해당 카드의 개수를 파악하는 방법을 많이 쓰더라 멋진 아이디어다! 근데 나는 그 함수 첨들었고... 내 풀이가 더 쉬운 것 같다 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가.. 2022. 8. 5.
[백준 9663/c++] N-Queen 백트래킹 심화 문제. 푸는 방법은 2가지가 자주 쓰인다 첫번째로, 조건을 판단할 함수를 만드는 방법 퀸은 위 아래 대각선에 영향을 주므로 퀸의 위치들을 배열에 넣은 후 배열을 돌며 놓을 수 있는지 여부를 판단할 함수를 만들어서 푸는 방법 퀸의 위치를 나타내는 배열을 나타낼 시 배열 내 요소의 인덱스를 열로, 요소의 값을 행으로 나타내서 2차원 배열이 아닌 1차원 배열만으로 퀸의 위치를 표현 가능하다 간단하지만, 배열을 돌며 여부를 체크해야 하므로, 시간복잡도가 추가로 O(n) 가 소모된다 두번째로, 함수대신 퀸이 영향력을 줄 수 있는 라인들을 배열로 저장해서 이전의 isused 체크처럼 사용하여 퀸을 놓을 수 있는지 체크하여 푸는 방법이다 배열의 크기를 40 으로 설정했는데, 가로가 n칸 일때 열의 인덱.. 2022. 8. 4.
[백준 2480/python] 주사위 세개 조건문만으로 푸는 방법이 있지만 어떻게든 다른 방법으로 풀고 싶었다 고급으로 올라가면 3개만이 아니라 여러개가 되어도 로직을 만들 수 있어야 하기에 리스트로 받아 딕셔너리를 이용해서 딕셔너리의 길이를 통해서도 풀어보았다 서툴게 파이썬을 만지며 풀다보니 부족한 파이썬 실력에 한숨이 나온다 갈 길이 멀다 열심히하자 https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net count = {} lists = list(map(int, input().. 2022. 8. 4.