목록알고리즘 (288)
홍우진의 개발 일기장

이번 "1일 1백준 & 1커밋 & 1블로그"를 시작한 지 어느덧 111일이 되었습니다.사실 짧다면 짧고 길다면 긴 111일이지만, 활동을 진행하며 얻은 점이 많습니다. 알고리즘 실력이 늘었고, solved.ac 레벨을 높였으며, 블로그 방문자 수 100,000명을 찍었습니다.또한 저에게 가장 값지다 느껴지는 성과는 "매일 꾸준히 공부하는 습관을 기른 것" 입니다. 하지만 새로운 목표를 향해 달려야 하는 지금, 선택과 집중이 필요한 시기가 왔습니다...저는 그동안의 성과를 뒤로 하고, 더 큰 도약을 위해 잠시 알고리즘의 숨을 고르려 합니다! 사실 저는 2022년에도 199일 동안 "1일 1백준"을 지속했던 경험이 있습니다.당시에는 WE-MEET 프로젝트에 집중하기 위해 활동을 중단했고,그 결과 장관상..
문제 링크https://www.acmicpc.net/problem/1541풀이 코드sik = input().split('-') # 마이너스를 기준으로 나누기num = []for i in sik: sum = 0 su = i.split('+') # 덧셈 계산을 위해 숫자만 뽑고 더하기 for j in su: sum += int(j) num.append(sum) # 덧셈 완료된 수들 저장n = num[0]for i in range(1,len(num)): n -= num[i] # 첫 번째 값에서 나머지 값을 모두 빼준다.print(n)코드 해석 먼저 더할 수 있는 수들을 다 더한 후,맨 앞 숫자에서 다 빼면 가장 낮을 수를 구할 수 있다. - 를 기준으로 나눈 뒤 ..
문제 링크https://www.acmicpc.net/problem/3986 풀이 코드n = int(input())ans = 0for _ in range(n): stack = [] dan = input() for i in dan: if stack and stack[-1] == i: stack.pop() else: stack.append(i) if not stack: ans += 1 print(ans)코드 해석 stack을 만들어서 후입선출 방식을 사용한 후,stack에 값이 남아있는지 확인한다.남아있다면? 나쁜 단어. 체감 난이도: ★★☆☆☆
문제 링크https://www.acmicpc.net/problem/2441풀이 코드n = list(input().split('-'))for i in n: print(i[0], end = '')코드 해석 받아서 - 기준으로 나누고 리스트로 저장한다.리스트의 맨 앞 글자를 붙여 출력한다. 체감 난이도: ☆☆☆☆☆머리식힐 겸 쉬운문제3...
문제 링크https://www.acmicpc.net/problem/2441풀이 코드n = int(input())for i in range(1, n + 1): print(" " * (i - 1) + "*" * (n - i + 1))코드 해석공백과 별을 숫자에 맞춰 곱해주면 된다. 체감 난이도: ☆☆☆☆☆머리식힐 겸 쉬운문제2...
문제 링크https://www.acmicpc.net/problem/9933풀이 코드n = int(input())dan = [input() for _ in range(n)]for i in range(n): for j in range(i, n): if dan[i][::-1] == dan[j]: print(len(dan[i]), dan[i][len(dan[i]) // 2]) exit()코드 해석 먼저 단어를 뒤집은 것과 같은게 있는지 찾은 후그 단어의 가운데 알파벳을 출력한다. 체감 난이도: ★☆☆☆☆머리식힐 겸 쉬운문제...

문제 링크https://www.acmicpc.net/problem/2579풀이 코드su = int(input())jum = [int(input()) for _ in range(su)]if su 코드 해석DP를 사용하였다.너무 잘 설명해주신 그림이 있어 첨부한다. 체감 난이도: ★★★★☆DP는 진짜 너무 어려운것같다.초등부...? 현타온다.
문제 링크https://www.acmicpc.net/problem/1003풀이 코드for _ in range(int(input())): a, b = 1, 0 for _ in range(int(input())): a, b = b, a + b print(a,b)코드 해석https://edder773.tistory.com/64 [백준 1003] 피보나치 함수 (python)https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 피보나치 함수 문제 피보나치 수열edder773.tistory.com위 블로그의 풀이를 참고했다...