https://www.acmicpc.net/problem/20164 20164번: 홀수 홀릭 호석 호석이는 짝수랑 홀수 중에서 이니셜이 같은 홀수를 더 좋아한다. 운전을 하던 호석이는 앞차의 번호판이 홀수로 가득할 때 사랑스러움을 느낄 정도이다. 전화번호도 홀수만 있고 싶다. 그렇게 www.acmicpc.net 구현문제이다 또한 별 다른 알고리즘 없이, 세자리 이상인 경우에도 가능한 숫자 조합을 이중 for문으로 모두 만들어 주고 다시 호출했다 그렇지만...!! 내가 놓친부분은 바로 새로운 숫자 조합을 만들 때에도 홀수의 개수를 세는 것이다 ... def check_odd(n): # 1. 각 자리 숫자 중 홀수의 개수를 적는다. temp = 0 for i in n: if int(i) % 2 == 1: t..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 만능 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험했던 내용과 공부했던 내용을 기록합니다. 🐻❄️☁️https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net ㅎㅎ 이분탐색으로 쉽게 풀리는 문제이다 ~ 다만 target 이 되는 숫자는 당연히 조합에 사용하지 못하므로 index를 조절해주는 것이 필요하다 ~~ n = int(input()) array = list(map(int, input().split())) array.sort() answer = 0 def solve(target): global answer left, right = 0, n - 1 while left < righ..
https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 최근 계속 밤새서 팀플하고 사랑니뽑고 아팠다가 다시 회복하고 백준 달린다 ㅎㅎ .. n = int(input()) array = [] answer = 0 for _ in range(n): array.append(list(map(int, input().split()))) # 오른쪽, 아래 dx = [0, 1] dy = [1, 0] visited = [[False] * n for _ in ..
https://www.acmicpc.net/problem/18430 18430번: 무기 공학 첫째 줄에는 길동이가 가지고 있는 나무 재료의 세로, 가로 크기를 의미하는 두 자연수 N, M이 주어진다. (1 ≤ N, M ≤ 5) 다음 N개의 줄에 걸쳐서, 매 줄마다 나무 재료의 각 위치의 강도를 나타내 www.acmicpc.net 백트레킹 문제 ! 삽질 많이 했다 ㅜㅜ dx, dy 는 4가지 부메랑의 모양을 만들어주기 위해서 좌표를 구하는 연산을 위해 만들었다. 노란색 칸을 (x, y) 라고 했을 때 하얀색 칸의 좌표에 도달하기 위한 값을 저장했다. 또한 array 를 탐색할 때 (0, 0) .. (n-1, m-1) 를 부메랑의 중심 좌표 (노란색으로 칠한 부분)로 두고 부메랑으로 만들 수 있는지 없는지 ..
https://www.acmicpc.net/problem/6443 6443번: 애너그램 첫째 줄에 단어의 개수 N 이, 둘째 줄부터 N개의 영단어가 들어온다. 영단어는 소문자로 이루어져 있다. 단어의 길이는 20보다 작거나 같고, 애너그램의 수가 100,000개 이하인 단어만 입력으로 주 www.acmicpc.net 1. dfs로 백트래킹을 구현하여 가능한 모든 알파벳 조합을 뽑아주었다 result 리스트에 만들어지는 단어들을 모두 append해주고, result를 sort해주었더니.. 메모리 초과가 났다. 최근에 코테를 2번정도 봤는데, 단순하게 구현을 해주면 쉽게 풀리지만 시간복잡도와 공간복잡도, 혹은 edge case에서 틀렸거나 비효율적인 코드로 제출해서 털렸던 기억이있다.. 이런걸 학습하기에 6..
1. 어제의 나와 비교하기 - 시간을 밀도있게 쓰는가 , 재미있게 공부하고 있는가 2. 내 속도대로 공부하기 - 너무 급하게 취업 생각하지 않고 어떤 분야가 좋은지, 어떤 회사에서 일하고싶은지 생각하기. 부족한 것 채우기 3. 나만의 product - 레이블러리 유지보수, 빅데이터 프로젝트 4. 매일 성취하기 - 매일 PS 1문제 이상 , CS 공부하기, 블로그 2023년에 방문자수 일평균 두자릿수 나오기
https://www.acmicpc.net/problem/1474 1474번: 밑 줄 세준이는 N개의 영어 단어를 이용해 길이가 M인 새로운 단어를 만들려고 한다. 새로운 단어는 N개의 단어를 순서대로 이어 붙이고, 각 단어의 사이에 _을 넣어서 만든다. 이렇게 만든 새로운 단어 www.acmicpc.net 그리디 문제이다 규칙을 찾는데 좀 오래 걸렸는데, 문제에서 핵심이 되는 것은 바로 사전순 정렬이다. 알파벳 대문자, 소문자, 밑 줄의 순서는 'A' < 'B' < 'C' < ... < 'Z' < '_' < 'a' < 'b' < 'c' < ... < 'z' 이다. 라고 문제에서 주어졌다. 즉, 대문자로 시작하는 단어의 경우 대문자의 우선순위가 '_' 의 우선순위 보다 높으니까, _가 뒤에 등장해야하고,..