BOJ :: 백준 :: 1103 :: 게임 출처 : https://www.acmicpc.net/problem/1103 #include #include using namespace std; int N, M;int map[51][51], dp[51][51];bool visited[51][51];int dir[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; inline bool check(int i, int j) { return ((i >= 0 && j >= 0 && i < N && j < M) ? true : false); } int dfs(int i, int j) {if (!check(i, j) || map[i][j] == 999) return 0;if (visited[i][j]) {..
BOJ :: 백준 :: 1937 :: 욕심쟁이 판다 출처 : https://www.acmicpc.net/problem/1937 #include #include using namespace std; int N, ans;int map[501][501], dp[501][501];int dir[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; inline bool check(int i, int j) { return ((i >= 0 && j >= 0 && i < N && j < N) ? true : false); } int dfs(int i, int j) {if (dp[i][j]) return dp[i][j];dp[i][j] = 1;for (int d = 0; d < 4; d++) {int n..
알고리즘 문제를 풀때 시간초과가 걸리는 경우가 종종 있다.시간이 초과 된다면 알고리즘이 틀린 경우이며 새로운 방법으로 가거나 조건을 추가해서 반복이나 재귀를 줄여야 한다. 그리고 대회 같은 경우에 제출한 수 만큼 점수를 깎는 경우도 있다. 따라서 내가 짠 코드의 시간을 미리 측정해 제한 시간에 넉넉하게 통과하는지 보아야 한다. 이를 위해 clock() 함수를 이용한다. c는 , c++은 헤더를 추가하여 사용한다. #include #include using namespace std; int main() {clock_t start = clock(); // 시간을 시작하고자 하는 코드 줄 cout
프로젝트를 진행하면서 슬랙을 통해서 진행을 하였다. 기존에 카카오톡이나 메일을 이용한 것 보다 많은 장점이 있었다. 슬랙은 기업용 메신저로 작은 프로젝트나 회사 내부 커뮤니케이션 및 협업 툴로 많이 이용하고 있다. 무료 버전과 유료 버전이 있으며 물론 유료 버전에 가입하면 더 많은 혜택과 서비스를 이용할 수 있다. 채널이라는 것을 만들어 대화 및 업무가 진행 되며 인원 제한 등이 없다. 슬랙의 장점은 메신저 이상의 다양한 기능이라고 생각한다. Git, Trello 등의 알림을 슬랙을 통해 받을 수 있어서 개발자 입장에서 편했던 것 같다. 또한 파일 공유가 가능하며 내가 원하는 내용만 push 알림을 받을 수 있었다. 다양하게 흩어져 있는 클라우드 서비스의 알림을 슬랙을 통해 한번에 받을 수 있었다. 사진..
안드로이드 개발 시 제플린을 이용하여 디자이너와 협업을 하였다. 제플린을 통해서 UI에 대해 정확한 가이드와 코드까지 받을 수 있어서 정말 편리하였다. 제플린은 스케치 또는 포토샵과 연동하여 자동으로 작업한 결과물을 이미지 파일 Asset과 디자인 가이드로 생성해 준다. 네이트브앱 디자인 시 ppt를 통해 GUI가이드 문서를 하나씩 만들던 것을 제플린을 통해 빠르게 개발자와 디자이너의 협업을 가능하게 해준다. 디자이너 입장에서 써보지는 않았기에 개발자 입장에서 봤을 때 정말 편리하였다. 상세한 GUI에 대해 높이, 컬러 등의 설정값을 바로 주었으며 가장 좋았던 부분은 CSS를 바로 받을 수 있다는 것이었다. 가이드에 대해 피드백 또한 바로 할 수 있어서 제플린이 왜 많이 쓰이고 있는지 느꼈다. 제플린 프..
구글 로그인 기능을 안드로이드 앱에서 구현하기 위해 구글 Firebase를 이용했었다. Firebase는 구글에서 인수하여 구글의 클라우드 서버를 이용할 수 있게 해준다. 실시간 클라우드 DB를 통해 Android, iOS, 웹 개발 시 쉽게 데이터를 저장하고 불러오며 다양한 구글 기능을 사용할 수 있다. 안드로이드 기준으로 Android 4.0(Ice Cream Sandwich)이상 및 Google Play 서비스 15.0.0 이상을 실행하는 기기를 기본으로 사용할 수 있다. 사용 가능한 라이브러리로는 아래의 사진과 같다. 사진 출처 : https://firebase.google.com/docs/android/setup?hl=ko 실제 써본 기능은 구글 로그인 기능밖에 없었지만 다른 기능들도 굉장히 유..
개발자는 사용자들이 어떤 버전을 사용하느냐를 고려해야한다.최신 버전부터 오래된 버전까지 다양한 사용자를 고려해야하므로 만드는 앱의 기능을 고려하여 최소 지원 버전을 정해야한다. 물론 버전이 올라갈수록 안드로이드의 더 다양한 기능을 사용할 수 있다. 버전에 따라 새로운 SDK를 적용해야하고 이는 API Level을 의미한다. API Level에 따라 지원되지 않는 기능이 있을 수 있으므로 개발 시 minSdkVersion과 targetSdkVersion을 잘 고려해야한다. 아래의 표는 안드로이드 버전과 API Level을 정리했다. 직접 써본 버전부터 글 작성일 기준 최신까지 정리하였다. Android Version API Level Name Released Android 9.0 28 Pie 2018 . ..
BOJ::15683::감시 출처 : https://www.acmicpc.net/problem/15683 #include using namespace std; int N, M, vs, a[8][8], ans,dy[] = { -1,0,1,0 }, dx[] = { 0,1,0,-1 }, nc[6] = { 0,1,2,2,3,4 }, cc[6][4] = { {},{0},{0,2},{0,1},{0,1,3},{0,1,2,3} };vector v; int cal(int vi, int res) {if (vi == vs) return res;int ta[8][8], tmp = 65; memcpy(ta, a, sizeof(a));auto tp = v[vi];for(int i=0;i= 0 && nx < M&&a[ny][nx] ..
문제를 풀 때 조건 N이 10억이상이 되는 경우가 많다. 이럴 때 그냥 코드를 짜면 시간제한에 걸리거나 메모리 제한으로 틀리는 경우가 많았다. 아직은 공부를 하는 단계라 이러한 경우 명확한 해답을 내지는 못했다. 그러나 이런 경우 배열보다는 다른 자료구조를 사용해서 풀면 좀 더 효율적이었다. vector, list, queue 등 자료구조들의 특징을 좀 더 공부해서 문제의 특성에 맞는 효율적인 자료구조를 짜는 것이문제해결로 가는 지름길인 것 같다. 이러한 자료구조는 프로그램의 시간, 메모리 등을 좌우하는 굉장히 중요한 요소라는 것을 다시 한번 깨달았다. 작성자 : 히더
알고리즘 문제를 풀다 보면 몇가지 케이스에 대해 틀리는 경우가 있다. 이러한 경우 대부분 전반적인 논리가 틀리지 않았으면특별한 케이스, 조건의 최대 값일 때, 최소 값일 때, 범위 제한 등을 고려해야한다. 대부분의 문제에서 예제 케이스로 주는 경우는 이러한 최악의 경우를 주지는 않는다. 그래서 최악의 경우를 대비해 시간, 메모리 등을 고려해야한다. 이때, 직접 최대 케이스를 만들어서 돌려보는 것이 좋다. 예제 케이스가 맞다고 제출하는 것이 아니라 최악의 경우의 케이스를 직접 만들어 돌려본다. input값을 넣기 힘든 숫자의 경우이면 코드로서 케이스를 만들어 돌려보면 된다. 작성자 : 히더
- Total
- Today
- Yesterday
- 게리맨더링 2
- SWEA
- STL
- 알고리즘
- 팁
- 백준
- 이차원 배열과 연산
- hackerrank
- 역량 테스트
- DP
- scanf
- 미세먼지 안녕!
- 17142
- 17144
- string
- 삼성
- 2018 카카오 블라인드 채용
- 새로운 게임 2
- 입출력
- 17779
- 연구소 3
- 17140
- 시간 복잡도
- 17837
- 17143
- 2018 KAKAO BLIND RECRUITMENT
- DFS
- boj
- 트렌드
- SW Expert Academy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |