전체 글

https://www.acmicpc.net/problem/1748 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net 1. Logic - 문제를 보자마자 %, / 연산자를 활용하여 어떻게 만들면 되겠다는 생각을 했지만 항상 마지막 자리수를 따지기 때문에 문제와 맞지 않은 사고였다. - 1의 자리부터가 아닌 앞의 자리부터 잘라야된다는 생각을 했고 주어진 n에서 자릿수를 10씩 늘려가면서 빼면 각 자릿수를 가진 숫자들이 나오게 된다. 2. Code #include using namespace std; int main() { int n; int sum = 0; cin >> n; for(int i = 1; i
https://school.programmers.co.kr/learn/courses/30/lessons/12980# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. Logic 짝수일 때에는 2로 나눠주고 홀수일 때에는 -1을 해주고 2로 나눠준다. 2. Code #include using namespace std; int solution(int n) { int ans = 0; while(n) { if(n % 2 == 1) ans++; n /= 2; } return ans; } 3. Feedback 처음 문제를 보고 아래의 코드와 같이 코딩을 했지만 i..
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 1. Logic - 문제를 읽고 회전이나 대칭을 해도 된다고 쓰여있었기 때문에 재귀를 통해서 정사각형 한 칸씩 차지해 나가며 해당 칸에 있는 숫자를 더해서 Max값을 더하면 될것 같다고 생각했다. - 재귀를 통해서 가기때문에 DFS로직을 생각했고 다른 모양은 다 가능 하지만 ㅗ, ㅏ, ㅜ, ㅓ 모양은 재귀를 통해서 구할 수 없기 때문에 따로 구해줘야 한다. 2. Code #include using..
군생활 학군단에서 경험한 바 + 긍정적이고 항상 밝고 재밌게 생활할 수 있는 나의 적응력을 바탕으로 사실 무리없이 군생활을 잘 해내고 있는 것 같다. 정보보호병에 지원하면서 너무 좋은 사람들을 많이 만나서 내가 원하는 분야인 백엔드 / 데브 옵스 개발쪽으로 진로도 뚜렷하게 정하고 관련된 공부도 하고 있는 것 같아서 사실 군대 잘 온 것 같다는 생각도 가끔은 든다. 군 생활을 시작하면서 좋은 사람들을 만나 동기부여도 받고 도움도 받으며 공부를 시작하게 되었다. 덕분에 알고리즘 공부도 제대로 시작하고 React도 공부를 시작하고 추후에는 django 또는 Spring같은 백엔드 Stack또한 공부해서 전역하기 전에 내가 정한 직무 / 회사의 코딩테스트와 채용에 제출할 수 있는 Resum의 프로젝트 정도는 채..
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 1. Logic - BFS함수 안에서 처음 들어갔던 문자와 vec[nexty][nextx]가 같을때만 queue에 push하면 해당되는 구역만 구할 수 있을 것이라고 판단함. - BFS함수의 Logic 대로 정상 BFS를 돈 후 for문을 통해 Red값과 Green값을 똑같은 값으로 만들어주기 위해 for문을 돌아서 R > G 또는 G > R로 변환시킨 후 다시 BFS돈다 2. Code #..
https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 1. Logic - 주어지는 문자열의 갯수가 최대 50이니 시간복잡도를 계산해 봤을때 각 자리수에서 1씩 증가하며 뒤에 붙히고 팰린드롬을 확인하는 최악의 경우의 수를 생각해도 50 * 50 * 50 정도일 것이라고 생각해서 2초안에 충분히 돌 수 있다고 판단함. > 전부 확인해 보기 - str[0]부터 1씩 증가해가며 str의 뒤에 붙히고 팰린드롬인지 확인하기 2. Code #include using ..
App() 이 실행하게 되면 rendering 과정을 거치게 되면서 counter에 0을 넣고 rendering onClick() 함수가 연결 된 button을 클릭하게 되면 이전counter와 현재 counter의 참조 값을 비교해서 참조값이 다르면 rerendering. 2. State Function .state function을 사용하는 방법에는 2가지가 존재한다. 1. 값을 직접 전달하는 방법 setCounter(counter + 1) --> 2. 함수를 전달하는 방법 setCounter((current) => current + 1) --> 확실한 현재값을 전달해 줄 수 있음 공부한 내용을 바탕으로 이해한 것을 그대로 적은 공부일기장입니다! 틀리거나 잘못 이해한 부분이 있다면 지적해주시면 감사하..
https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net #include using namespace std; void star(int i, int j, int n) { if((i / n) % 3 == 1 && (j / n) % 3 == 1) cout n; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { star(i, j, n); } cout
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다.www.acmicpc.net1. Logic- 검은색이 먼저나오는 최적의 배열과 흰색의 먼저 나오는 최적의 배열을 선언. - 검은색이 먼저나오는 배열을 확인하는 함수와 흰색이 먼저나오는 배열을 확인하는 함수를 실행시켜서 두개의 함수의 최솟값을 Answer 배열에 저장 #include using namespace std; string arr[51]; string whitef[8] = { "WBWBWBWB", "BWBWBWBW..
https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 1. Logic - 값을 확인해주며 0이 나왔을때는 값을 빼줘야하기때문에 후입선출(Last In First Out)의 성질을 가진 stack 활용. - 정수가 입력되면 sum에 더해주고 0이 나오게되면 stack의 최상단 값을 sum에 빼주고 stack에서 pop #include using namespace std; stack s; int main() { int ..
보글보글소다
Conquer Mind, Conquer All