이번에 알고리즘 공부를 제대로 해보겠다고 맘먹고 책을 샀는데 거기서 Boost랑 openSSL을 깔라고 하더라고요. 둘 다 생전 처음 보는 것... 처음엔 걍 깔지 말까 했지만 두 라이브러리에 대한 설명을 보니까 없으면 제대로 공부가 안 되겠더라고요... 하지만 설치 안내 사이트가도 설명이 부실해서 뭔지 모르겠고... 한참을 헤멨죠 ㅠㅠ 눈물의 까막눈쇼라고 해야 할까요,,,ㅠ 특히나 전 요즘 맥북을 쓰다보니 정보가 더~~~ 없었습니다. 그나마 있는 것도 옛날 글에 설명 왕부실... 그래서 빅데이터겸 맥에서 C++ Boost와 OpenSSL 설치 과정을 적어보겠습니다. 참고로 전 M1 맥북에어씁니다. 1. 홈 브루(Homebrew) 설치하기 홈 브루는 맥 터미널에서 쓸 수 있는 앱스토어 같은 것이라고 볼 ..
2021.09.12 - [C++로 게임 만들기/오목 게임 만들기] - [C++] 오목 게임 만들기 2 - 바둑판을 그리기 위한 DrawMap Class 만들기 [C++] 오목 게임 만들기 2 - 바둑판을 그리기 위한 DrawMap Class 만들기 2021.09.07 - [코딩 공부/C++로 게임 만들기] - C++) 오목 게임 만들기 1 C++) 오목 게임 만들기 1 현생 사느라 바빠서 오랜만에 돌아오게 된 블로그...ㅠ.ㅠ 오늘부터 C++로 오목 게임을 만드는 과정을 포 hgu-can.tistory.com 저번 시간에 바둑판을 그리기 위한 DrawMap Class를 만들었었죠~? 오늘은 그 DrawMap Class를 이용해서 타이틀 화면을 그릴거에요. 새로운 클래스를 만들 것입니다. 저번처럼 마우스 ..
2021.09.07 - [코딩 공부/C++로 게임 만들기] - C++) 오목 게임 만들기 1 C++) 오목 게임 만들기 1 현생 사느라 바빠서 오랜만에 돌아오게 된 블로그...ㅠ.ㅠ 오늘부터 C++로 오목 게임을 만드는 과정을 포스팅하려고 해요. 글을 쓰는 이유는 제가 이걸 만들던 당시에 구글링을 참 많이 했는데 생 hgu-can.tistory.com 이전 글에서 이어지는 오목 게임 만들기 2입니다. 저번 포스트에서 소스.cpp와 Mecro.h를 만들었어요. 그럼 이제 본격적으로 게임을 만들어볼텐데, 처음에 모작할 때엔 타이틀부터 만드는 것이 좋습니다. 눈에 보이는게 확실해야 진도가 잘 나가거든요. 그래서 오늘은 타이틀부터 만들게요~ 시작 전에 타이틀을 다시 봅시다. 바둑판을 그려야 하고 그 위에 메뉴를..
탈탈 털린 넥슨 코테를 계기로... Hacker rank preparation kit의 day 하나씩 풀기로 했습니다. 일단 1주일 키트의 첫째날부터 시작 첫째날이라 다 쉽네용 문제의 조건 1. 12:23:43AM 식으로 12시간 포맷의 시간이 입력되는데 이것을 24시간 포맷으로 환산하면 몇 시로 표현할 수 있는지 string으로 만들어서 리턴하기 AM이면 11시까지는 그대로 쓰면 되는데 12시면 00으로 바꿔줘야 하고 PM이면 12시면 그대로 쓰면 되지만 12시 이전까지는 12를 더해줘야 합니다. string timeConversion(string s) { //오전인지 오후인지, 몇 시인지 구분하기 위해서 string 분리 string strHour = s.substr(0, 2); string strT..
쉬운 문제였는데 새로운 인덱스를 구할 때 계산을 조금 잘못해서 힌트가 필요했던 문제 문제의 조건 1. 주어진 배열의 원소들을 주어진 횟수만큼 시계 반대방향으로 회전 시키기 vector rotateLeft(int d, vector &arr) { int iSize = arr.size(); vector vecResult(iSize); for (int i = 0; iSize > i; i++) { //새로운 인덱스 위치를 구해서 넣어주는 것이 빠른데 //첫번째 인덱스 자리를 구한 다음 그 다음칸부터 차례대로 넣어준 후 나머지는 앞쪽에 배치하면 된다. //첫번째 인덱스 자리는 arr.size - d니까 (iSize - d + i)를 생각할 수 있다. //그런데 저렇게만 가면 0번째 인덱스에는 값이 안 들어감 -> ..
문제 읽고 뭐 이딴게 다 있나 싶었는데 Discussions 보니까 외국사람들도 똑같더라고요..ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 영어쓰는 사람들도 무슨 소린지 모르겠다고 할 정도였으니 전 더 못 알아먹는 것이 당연했슴 다 풀고나서 보니까 문제가 첨부터 시키는대로 하면 되긴 했습니다. 문제의 조건 0. 가로 길이는 3이고 세로 길이는 쿼리 수 만큼인 2차원 배열이 주어짐 각 배열의 가로줄에는 1 x y or 2 x y 형식으로 integer 데이터가 들어있음 1. 2차원 배열 하나를 주어지는 n 크기만큼 선언한다. 그리고 결과를 저장할 1차원 배열이 하나 더 필요하다. result 란 이름으로 하나 만들자. 2. LastAnswer라는 이름으로 integer 선언. 0으로 초기화한다. 3. 쿼리의 종류는 2가지가 있는데 ..
발상의 전환만 하면 쉽게 풀 수 있는 문제 문제의 조건 1. 2차원 배열이 주어지는데 --- ㅣ --- 처럼 모래시계 모양 위치에 있는 요소들의 합 중 최대값을 구하기 여러 방법이 있겠지만 모래시계의 가운데 한 칸을 중심점으로 잡고 2중 반복문을 돌리면 쉽게 구할 수 있습니다. 배열의 크기는 6x6으로 고정이라 타임아웃 걱정은 안 해도 됩니다. int hourglassSum(vector arr) { //배열 요소의 값 범위가 -9 ~ 9 까지라 최소값이 음수도 나올 수 있다. //7개의 합을 구해야 하기 때문에 -9*7=-63 int iHourGlassSum = -63; for (int i = 1; arr.size() - 1 > i; i++) { for (int j = 1; arr[i].size() - ..
최대값 찾기만 잘 이용하면 쉽게 풀 수 있는 문제인데 그걸 찾기가 쉽지 않았던 문제의 조건 1. 밥과 앤디가 게임을 하는데 2. 정렬되지 않은 배열에서 최대값을 찾으면 최대값을 포함한 나머지 인덱스들을 지움 3. 남은 인덱스에서 또 최대값을 찾아서 2번 반복 4. 밥이 항상 첫번째로 시작하고 게임은 밥과 앤디의 턴이 번갈아가며 진행된다. 5. 마지막으로 최대값을 찾아서 더 이상 진행할 수 없는 상태로 만든 사람이 이긴다. 7. 배열 arr가 주어질 때 BOB과 ANDY 중 누가 이기는지 출력해라 정렬되어있지 않은 배열을 처음부터 순회하면서 최대값을 찾을 때마다 카운트를 증가시켜주면 됩니다. 처음엔 문제에 속아서 반복문으로 최대값 찾은 후에 또 반복문을 최대값 인덱스부터 돌려서 이후 값들을 0으로 바꾸고 ..
- Total
- Today
- Yesterday
- 컴퓨터공부
- 컴퓨터사이언스
- 다이나믹프로그래밍
- 문제풀이
- 아이패드
- BFS
- 컴퓨터
- 애플
- 너비우선탐색
- c언어
- 알고리즘
- 프로그래머스
- 해커랭크
- dp
- 하드웨어
- 캐나다
- DFS
- 프로그래밍
- hackerrank
- 코딩공부
- greedy
- C언어기초
- 그리디
- 깊이우선탐색
- 스위프트플레이그라운드
- 영어공부
- c++
- 기초
- 캐나다생활
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |