' ::Deep Code::
728x90

전체 글 47

[C/C++] 백준 2903, 중앙 이동 알고리즘. 격자점 풀이

이 문제를 수학적으로 수열로 해석해서 일반항을 구하고 싶었다. 처음 풀이는 가장 작은 단위의 정사각형 하나를 box라고 하면 모든 box에서 정중앙과 밑변, 오른쪽변 중앙 총 세 개의 점을 찍고, 마지막에 테두리를 돌며 점을 찍으면 된다고 생각했다. 그래서 다음과 같은 수열을 정의하고 코드를 작성했다. a1=4 a_n+1 = a_n + 4^(n-1) * 3 + 2^(n-1) * 2 a2=4+5=9 a3=9+16=25 #include #include int solution(int n) { if (n == 0) return 0; int boxes = 1 * std::pow(4, n - 1); int newDots = boxes * 3 + std::pow(2, n - 1) * 2; return newDots ..

Programming/C & C++ 2024.01.26

[C/C++] C++17 `if` statement with initialization. 유용한 if문 조건 편하게 쓰는 법

PowerToys 사용 중 한국어 오타를 발견하고 Github 레포지토리에 이슈를 등록했다. 심심해서 소스코드를 아무거나 열어봤는데 눈에 띄는 부분을 발견했다. if 안에 변수 선언이 들어간 코드를 봤다. 궁금해서 찾아보았더니 저렇게 쓰는 건 원래 가능했고 `;` 으로 초기화식이랑 조건식을 동시에 넣을 수 있는 기능을 C++17에서부터 지원한다고 한다. #include int inputNum() { int n; std::cin >> n; return n; } int main() { if (int n = inputNum(); n > 5) { std::cout

Programming/C & C++ 2024.01.18

[C/C++] 백준 1966번 C/C++ 풀이 (테스트 케이스 제공)

글 맨 아래에 테스트 케이스가 있으니, 정답을 읽기 전에 다시 한 번 도전해보시는 것도 좋습니다! 먼저, 현실에서 해당 작업을 한다면 어떻게 할지 고민해보았습니다. 가장 중요도가 큰 문서가 나올 때까지 문서들을 제치면 될 것이고, 그것을 코드로 구현하려고 했습니다. 하지만 C++에서 배열을 통해 배열의 요소들을 이동 시키는 것은 시간복잡도가 큰 작업으로 성능 저하가 우려되어, 배열의 요소들은 고정시키고, indicator 역할을 하는 변수를 배열의 끝을 만났을 때 처음으로 돌아가는 식으로 구현했습니다. 문서를 인쇄하는 것은, 더 이상 최댓값 탐색에 영향을 끼치지 않게 배열 요소 값을 -1로 변경하는 형태로 구현했습니다. 다음 코드는 머릿속에서 떠올리는 대로 작성한 처음 풀이입니다. 풀이1) #includ..

Programming/C & C++ 2023.07.15

[C/C++] 백준 1159번 C++ 풀이

장황한 문제와 다르게 굉장히 난이도 쉬운 간단한 문제.. 그냥 문자열 몇 개 입력받아서 첫 글자에 사용된 알파벳 수 구하고 5회 이상인 게 있냐 없냐를 따지면 된다. #include int main() { int alphabets[26] = { 0 }; // 알파벳 사용된 횟수 저장 char offset = 'a'; // 소문자 ascii 첫 글자 std::string entries = ""; // 5회 이상 사용된 문자들 entries.reserve(10); int n; std::cin >> n; for (int i = 0; i > str; alphabets[str[0] - offset]++; // 알파벳 카운트 } for (int ..

Programming/C & C++ 2022.10.31

정보처리기능사 필기 후기

공부는 이기적 정보처리기능사 필기 문제집 책으로 했는데 오탈자가 꽤나 많이 보여서 아쉬웠다..T_T 의미가 완전 다르게 해석되는 오타도 있어서 영상 강의를 보지 않았다면 잘못 공부했을터.. 고사일 한 달 전에 접수를 했지만 게을러서 시험 이틀 전부터 문제집에 있는 개념들과 영상 강의만 정주행하면서 벼락치기를 했는데 프로그래밍 경험으로 인한 기본 배경지식 + 기능사의 쉬운 난이도 덕에 73점을 받고 일단 필기 합격을 했다. (100점 만점에 60점부터 합격) 처음 책 살 때 잘 모르고 사서 필기 기출문제집을 사는 바람에 책을 펼쳐보고 당황했는데, 새로 공부하는 분은 다른 기본서나 자습서로 내용을 잘 숙지한 후 기출문제집을 봐야 효율적일 것 같다. 자기가 취미로라도 코딩 짬밥이 있다면 어렵지 않을듯.

IT 담소 나눔터 2022.09.03

[Minecraft] 마인크래프트 월드 플레이어 데이터 지우기 (UME, Universal Minecraft Editor)

월드는 그대로 보존한 채 플레이어 데이터만 지우고 싶은 경우가 있다 처음에 월드를 백업해놓았다면 백업본을 사용하면 되지만 그렇지 못한 경우라면 월드에서 플레이어의 데이터만 지울 수 있는데 아래 프로그램을 사용하면 된다. https://www.universalminecrafteditor.com/ Universal Minecraft Editor EASY NBT EDITOR Edit all the data stored in your world quickly and easily with the most intuitive NBT editor available. www.universalminecrafteditor.com 1. 시작 화면에서 원하는 플랫폼을 고른다. 2. 월드를 선택한다. 기본적으로 마인크래프트 앱에..

Minecraft 2022.07.28

Tistory 블로그 개인 도메인 설정하기

(0) 서론 원래 .kr 도메인을 사용하다가 (3년치 구매했는데..) .dev 도메인에 홀려서 새로 구매하게 됐다. .dev 같은 경우 Google Domains에서 사면 더 싼 데 모르고 whois에서 사서 호구가 됐지만,, .dev 도메인이라니 만족하면서, 다음 번엔 Google Domains로 이전할 생각이다. (1) 직접 네임서버 고급 설정 하기 ㄱ) whois 홈에서 도메인 활용 / 부가서비스 -> 네임 서버 고급설정 클릭 다른 기관에서도 DNS 설정, 레코드 설정 같은 메뉴를 클릭하면 된다. ㄴ) 도메인 선택. ㄷ) 확인 ㄹ) Tistory 블로그에 개인 도메인을 연결하기 위해서는 도메인의 레코드 설정을 건드려야 하는데 A 레코드를 설정하는 방법과 CNAME 레코드를 설정하는 방법이 있는데 C..

IT 담소 나눔터 2022.07.25

[Go] vscode에서 디버깅 중 콘솔에 입력받기

Go를 처음 설치하고 구글링한대로 환경 세팅을 하다보니 디버깅을 `디버그 콘솔`에서 하게 된다. Go문법에도 익숙해질 겸 간단한 콘솔에서 하는 게임을 만드는데 키보드로 입력받기가 힘들어서 일반 터미널에서 디버깅 하는 법을 찾아봤다.. 결론: .vscode\launch.json 을 아래처럼 해주면 된다 { "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "launch", "mode": "auto", "console": "integratedTerminal", "program": "${workspaceFolder}" } ] } 저기 저 "console"을 integratedTerminal로 해주면 우리가 원..

Programming/Go 2022.07.05
728x90

'