문제 https://www.acmicpc.net/problem/3052 풀이 방법 1 : set() 함수 이용 set()함수를 사용하면 쉽게 풀어낼 수 있다. set() 함수 사용법을 몰랐는데 알게 되었다. set은 집합을 의미하여, 집합에는 중복되는 숫자가 존재하지 않는 것처럼 set함수에서도 중복되지 않은 원소들만 들어갈 수 있다. 중복되지 않은 ...
문제 https://www.acmicpc.net/problem/1546 풀이 💡 개념 정리 정수 입력 받기 한 줄의 정수 리스트 한 줄에 공백으로 나눠진 ?개의 정수 입력 받기 n개 줄의 정수 리스트 한 줄로도 가능 n줄의 2차원 정수 리스트 한 줄의 정수 리스트 입력받기를 n줄에 대해서 반복한다. 한 줄로도 가능
문제 https://www.acmicpc.net/problem/10810 풀이 처음에 리스트 선언할 때 범위를 M으로 잘못 설정해서 자꾸 오답이 났다. 한참 찾았네 ..
https://www.acmicpc.net/problem/10811이 풀이에서도 계속 에러가 났다. for문 내 for문을 보면, 원래 range((j-i)//2) 로 했는데 계속 에러 나길래 손코딩 하면서 검사해봤다.예를 들어 i = 1, j = 4일 경우
문제 https://www.acmicpc.net/problem/10813 업로드중.. 풀이 인덱스 고려 못해서 처음에 자꾸 틀렸다. 인덱스가 0~4인데 공 바구니는 1~5이므로 인덱스에서 -1 해야한다.
https://www.acmicpc.net/problem/10809이것은 숏코딩 참고한 것.find() 함수를 이용할 수도 있다. 아래 개념을 참고해보자어떠한 문자 'x'가 첫번째 위치한 자리를 출력한다.find함수는 찾는 값이 없을 때 -1을 출력한다문자열을
https://www.acmicpc.net/problem/1152문자열이 공백으로 시작하거나 끝날 수 있기 때문에 처음과 끝에 공백이 있는지 체크하고, 있다면 cnt를 -1 해주는 것으로 시작했다. 뭔가 더 효율적이고 간결한 방법이 있을 것 같은데. 아직은 이
https://www.acmicpc.net/problem/2675반복문 받을 때 print문에 end = '' 해주면 공백없이 연결 가능하다. 그리고 반복문 마지막에 print('') 해야 다음 입력 받을 때 한 칸 다음 줄에서 입력 받을 수 있다.
https://www.acmicpc.net/problem/2908여기서 알게 된 점. 문자열 자체는 reverse() 함수를 사용할 수 없다. 리스트 내장함수이기 때문에 문자열을 리스트로 변환하고 사용해야 한다. c.f reversed(str)이 방식으로 문제
https://www.acmicpc.net/problem/5622개인적으로 난이도 좀 높게 다가온 문제였다. 풀이 방향은 잡았으나, 파이썬 반복문의 활용에 익숙하지 않아서 코드를 풀어낼 방법이 선뜻 떠오르지 않았었다. 알고나니 쉽게 풀림반복문을 자유자재로 사용
문제 https://www.acmicpc.net/problem/25083 풀이 이게 왜 심화? 💡 '\'를 출력하고 싶으면 print("\\") 입력해야 한다.
https://www.acmicpc.net/problem/3003리스트 이용하면 금방 풀 수 있는 문제였다.
문제 https://www.acmicpc.net/problem/2444 풀이 계속 sytax 에러가 뜨길래 한참 찾았다..... 너무 어이없는 실수로 시간을 많이 버림
https://www.acmicpc.net/problem/1157업로드중..단어를 대문자로 변환하여 리스트로 입력 받는다. 알파벳 26개의 개수를 카운트 할 리스트(cntS) 생성S의 알파벳을 비교하며 cntS에 숫자 카운트cntS를 복사하(cntS_dup)고
문제 https://www.acmicpc.net/problem/10988
https://www.acmicpc.net/problem/2941내 첫 접근은 이렇다.단어를 입력 받는다.크로아티아 알파벳이 담긴 리스트를 생성한다.크로아티아 알파벳과 입력 받은 문자를 비교한다.크로아티아 문자가 있을 시 카운트, 기존 문자에서 제거하고 공백으
https://www.acmicpc.net/problem/1316N만큼 for문으로 단어 입력 받는다.그룹단어의 개수를 셀 cnt 변수 만들고 N 값 대입문자열 내에서 j번째가 j+1와 같으면 연속된 것이기에 넘어가기j번째가 j+1와 같지 않을 때, j번째 문
문제 https://www.acmicpc.net/problem/25206 풀이 접근방식 (학점*과목평점) 총합을 담을 변수 생성 학점 총합 받을 변수 생성 성적 나타내는 딕셔너리 생성 입력이 20개이므로 20번 돌며 과목명, 학점, 평점을 받는다. 평점이 'P'가 아
https://www.acmicpc.net/problem/2738문제 자체는 어려운 게 아닌데, 파이썬에서 2차원 배열 사용하는 게 처음이다보니 생각할 것과 배울 것들이 많았다. 파이참에서는 결과가 잘 나왔지만 백준 저지에서는 런타임에러(ValueError)
https://www.acmicpc.net/problem/25662차원 배열의 행을 읽으며 최댓값을 담는다. (maxli)maxli의 최댓값을 출력한다.전체 2차원 배열을 읽으며 최대값의 위치를 출력한다.(행과 열이 1부터 시작하므로 +1 해주기)map() 함
https://www.acmicpc.net/problem/10798if j < len(li\[i]): 조건문 지정해주는 이유는 행마다 열의 갯수가 다르기 때문에 range를 초과하는 오류를 막기 위해서다.위 코드를 실행했을 때, 열을 기준으로 행만 바뀌면
https://www.acmicpc.net/problem/2563와 이건... 2차원 배열 문제길래 어떻게 푸는 거지 했는데 !처음에는 배열을 이용하기보단 좌표를 입력 받아서 조건문으로 푸려고 했는데 너무 고려할 케이스가 많아서 머리가 터질 뻔 했다. 100x
https://www.acmicpc.net/problem/11005N, B를 입력 받는다.진법변환시 N의 마지막 번째부터 거듭제곱 해야 하므로 N을 역순으로 바꾼다.N의 길이만큼 읽으며 인덱스 만큼 거듭제곱하고, num에서 인덱스에 해당하는 값 찾아서 곱한다.
https://www.acmicpc.net/problem/11005앞에서 했던 진법 변환 문제를 좀 변형해서 풀면 되는데, 생각할 게 좀 많다. 입력 받은 N을 B로 나눈 나머지를 ans에 문자열화해서 넣는다.N을 B로 나눈 몫으로 초기화해준다. ➡️ 반복문으
https://www.acmicpc.net/problem/2720일일이 변수 만들고 나머지 계산하는 게 비효율적이란 생각이 들었는데 그냥 했다. 더 좋은 방법이 있을 걸 알면서..ㅎ 리스트 사용하면 더 간단할 거라 생각은 했다. 좀 더 효율적인 풀이!훨씬 간결
https://www.acmicpc.net/problem/2903규칙 찾는 게 포인트매번 어떤 수의 제곱이 결과로 나오는데, 그 규칙을 찾으면 된다.
https://www.acmicpc.net/problem/2292방은 1을 기준으로 둘러싸며 6개씩 증가하는 등차수열이다. 방의 개수를 층마다 6씩 더해주고, 이동해야 하는 개수(cnt)는 1씩 더해준다.
https://www.acmicpc.net/problem/1193line 1 : 1/1line 2 : 1/2, 2/1line 3 : 3/1, 2/2, 1/3line 4 : 1/4, 2/3, 3/2, 4/1X -= line ➡️ 각 line에서 X가 몇번째에 위
https://www.acmicpc.net/problem/2869V <= A밤까지 가지 않아도 되는 경우, 하루 낮으로 올라갈 수 있는 경우그렇기 때문에 길이 V에서 낮의 이동거리 A를 먼저 빼준다.정상에 도착하면 밤에 미끄러지지 않으므로 마지막 날엔 낮
https://www.acmicpc.net/problem/2501약수 담을 vector 만든다.입력 받을 n, k 선언약수 총 개수를 셀 cnt 변수 만들고 초기화n까지 루프 돌며 약수를 담고, 개수를 센다.k가 cnt보다 작거나 같을 경우 k번째 약수는 di
https://www.acmicpc.net/problem/50860 0 입력 받으면 종료하도록 조건문 지정
https://www.acmicpc.net/problem/9506while 문 선언변수 \`n₩ 선언 및 초기화약수를 담을 vector 만들기약수의 합을 구할 변수 sum 선언 및 초기화\-1 입력 시 루프 종료n의 약수를 divisor vector에 담고,
https://www.acmicpc.net/problem/1978입력 받을 n, num을 선언약수의 개수 카운트 할 cnt 선언소수의 개수 카운트 할 prime 선언for문 n번 돌면서 num 입력 받고, num의 약수의 개수를 센다. 해당 num의 약수의 개
https://www.acmicpc.net/problem/2581입력 받은 수가 소수일 경우 + 최소값(min)이 -1 일 경우(아직 최소값이 담기지 않음) 최소값에 i를 넣는다. cnt 변수는 for문 마지막에서 꼭 0으로 초기화해준다.
https://www.acmicpc.net/problem/11653n을 입력 받는다.n이 1일 경우 아무것도 출력하지 않도록 return 0; 한다.for문으로 가장 작은 소인수인 2부터 시작해 n까지 반복한다. \* 아라n % i가 0이 나오면 계속 해당
https://www.acmicpc.net/problem/24265https://www.acmicpc.net/problem/24266https://www.acmicpc.net/problem/24267
https://www.acmicpc.net/problem/11723|= (1<<n) 로 원하는 원소 더해주고&= ~(1<<n) 을 이용하여 원소 제거if(s&(1<<n)) 를 이용해서 check 구현s ^= (1<<n
https://www.acmicpc.net/problem/23971예제를 참고해서 규칙을 찾아보자. (1, 1)에 참가자가 앉아있을 때,1칸을 띄어 앉아야 한다면 (1, 3), (1, 5) 두 명의 참가자가 앉을 수 있다. (총 3명)2칸을 띄어 앉아야 한다면
https://www.acmicpc.net/problem/1085
문제 https://www.acmicpc.net/problem/2309 풀이 보자마자 개어렵다고 생각했다... 노가다로 풀기엔 너무 막막. 이거 1시간 넘게 붙잡고 있다가 도저히 아이디어가 떠오르지 않고 막막해서 힌트를 좀 얻었다. C++ 개념 공부할때 순열, 조합
https://www.acmicpc.net/problem/10808알파벳 카운팅 할 26개 크기의 배열 선언alp 문자열 선언입력 받은 S 길이 만큼 루프 돌면서 알파벳과 비교알파벳과 일치하면 cnt 배열의 해당 인덱스의 값을 1씩 증가➡️ 코드가 너무 복잡하
https://www.acmicpc.net/problem/10988다시 알고리즘 문제 매일 풀기 도전.지난 번에 python으로 풀어봤던 건데, C++로 다시 하려니 조금 막혔다. 단어 입력 받고, 단어 길이의 절반을 기준으로 대칭되는 부분을 비교한 뒤 일치하
문제 https://www.acmicpc.net/problem/1159 풀이 ⏰ 49m 풀이가 쓸데없이 길어진 것 같은데, 내 기준엔 최선이라 아쉽다. 효율적인 코드가 있을 것이라 본다 .. check 변수는 각 개수가 5이상인 알파벳이 없다면 카운트해서, 26개
https://www.acmicpc.net/problem/11655⏰ 53m시간이 너무 오래 걸렸다. ㅠㅠ 그래도 어떻게 풀었다.output 변수 만들기 전, 코드를 잘 적었다고 생각했는데 자꾸 결과가 틀리게 나와서 보니, input 변수 위에다 계속 덮어쓰며
문제 https://www.acmicpc.net/problem/9996 풀이 처음엔 코드를 위와 같이 짰다. '실버 문젠데 쉽네?' 하면서 ..머쓱. 패턴이 알파벳 소문자 하나와 *으로 이뤄져있는 것으로 착각했다. > 패턴은 알파벳 소문자 여러 개와 별표(*)
문제 https://www.acmicpc.net/problem/2559 풀이(분석) 풀이 1 N은 1 ~ 10만 K는 1 ~ 10만 포함(1과 N 사이 값) 온도는 -100 ~ 100 연속된 온도의 합이 '최대'가 되는 값 : 구간합 prefix sum psum[i] = psum[i - 1] + a[i]; ➡️ 누적합 활용!! 💡 Tip 문제에서*...