목록전체 글 (265)
SW

0. 제목 백준 7576 토마토 BOJ 7576 토마토 C++ 7576 토마토 1. 문제 https://www.acmicpc.net/problem/7576 2. 풀이 한단계씩 뻗어나가는 것이 효율적이라 판단하여 BFS를 사용하였다. make_pair를 사용하여 좌표쌍을 큐에 push하였다. 처음에 배열 값들을 입력받음과 동시에 그 값이 1이면 큐에 push 해주었다. 큐에는 탐색할 좌표들을 담아놓는다. 큐에 있는 좌표가 더이상 주변의 탐색을 모두 끝낸 좌표일때 pop을 해준다. 지금까지 풀었던 bfs문제들은 bfs함수내부에서 매개변수로 들어온 좌표들을 큐에 push 해주었다. 그러나 이 문제는 입력과 동시에 push 를 하였다. bfs함수내에서 한번의 루프를 돌때마다 한단계씩 뻗어나가고 서로 떨어져있는 ..

0. 제목 백준 2022 사다리 BOJ 2022 사다리 C++ 2022 사다리 1. 문제 https://www.acmicpc.net/problem/2133 2. 풀이 함수 func에서는 주어진 x와 y로 mid를 구한 후 기울기와 피타고라스정리를 이용하여 c에 관해 정리하였다. 수는 소수점 여섯째 자리까지 주어지므로 범위가 0.000001보다 큰동안 반복한다. 이분탐색을 통하여 범위롤 계속 갱신해주고 소수 여섯째자리의 정확도로 mid를 구한다. 절대/상대 오차는 0.001 까지 허용하므로 소수 셋째자리까지 출력해준다. 3. 코드 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 31 32 33 34 #inclu..

0. 제목 백준 2003 수들의 합 2 BOJ 2003 수들의 합 2 C++ 2003 수들의 합 2 1. 문제 https://www.acmicpc.net/problem/2003 2. 풀이 startIdx를 이용해 합의 시작점을 저장해준다. sum이 구하고자 하는 합 M과 같아지면 가능한 경우의 수인 cnt를 1증가시켜주고 M을 넘어가면 while문을 빠져나간다. 만약 while문에서 sum이 M보다 작고 startIdx가 배열의 마지막 원소를 지나치면 즉, N+1 이 되면 while문을 빠져나온다. cnt를 출력하면 정답니다. 그런데 이러한 문제는 투포인터를 사용한다고 하면 된다. 위 방법도 그와 비슷한 방법이지만 투포인터의 내용을 살려 또 다른 코드를 첨부하겠다. 투포인터 방식을 사용하면 위 방식보다 ..

0. 제목 백준 1789 수들의 합 BOJ 1789 수들의 합 C++ 1789 수들의 합 1. 문제 https://www.acmicpc.net/problem/1789 2. 풀이 while문이 돌면서 sum에 num을 더해준다. num을 하나 더해주었으므로 cnt도 1 더해준다. 만약 sum이 구하고자 하는 값 S보다 커지면 현재 cnt 에서 1을 빼준다. 예를 들면, 18을 구하고 싶었다면 1,2,3,4,5,6 까지 가면 21로 18보다 커지고 3을 빼면 되므로 1,2,4,5,6 즉, 5개가 나온다. num은 한 loop가 지날때 마다 1씩 증가한다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include using names..

0. Getting the Weather 위치 정보 확인에서 받아온 위도, 경도를 토대로 api를 부른다. isLoaded = true를 쓰는 대신에 새로운 _getWeather이라는 새로운 함수를 만들었다.경도, 위도, 2개의 attrubutes를 얻게 되면 웹사이트에서 제공하는 api key를 사용한다. open weather map >> current weather data >> geo coordinates 를 그들의 서버에 보내면 날씨정보를 받아올 수 있는 것이다. 그것을 보낼 때마다 response를 json으로 하고 그 json을 console.log 할것이다. https://openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap ..

0. Building the Loading View 아래 내용들은 노마드코더의 weather app tutorial을 토대로 작성하였다. 리액트 네이티브로 앱을 만들때, 항상 local state로 작업을 해야한다. shorthand property, 예를 들면 padding: 40 30 50 60, 이런것은 CSS와 다르게 작동하지 않는다. 아래 화면을 설명해보면 다음과 같다. 첫번째 컴포넌트 안에 state를 만들고 isLoaded: false로 저장을 하였다. 데이터 api를 불러오게 되면 이 값은 true가 될 것이다. 하지만 그 전에는 Loading 중이기 때문에 false이다. 그 컴포넌트 안에 컨디션을 만들었다. isLoaded? 이것은 로딩이 되었다면 , 아직 보여줄 자료는 없고(null)..

0. 제목 백준 1932 정수 삼각형 BOJ 1932 정수 삼각형 C++ 1932 정수 삼각형 1. 문제 https://www.acmicpc.net/problem/1932 2. 풀이 합이 최대가 되는 경로에 있는 수의 합을 출력하는 것이 문제이다. 2차원 배열 arr, dp를 할당하고 arr는 각 위치의 값이 담기고 dp는 그 위치로 갔을 때의 합이 담긴다. 그런데 합이 최대가 되어야 하므로 전 단계에서 즉, 윗 줄에서 왼쪽과 오른쪽중 큰 것을 선택해야 한다. 따라서 점화식은 다음과 같다. dp[i][j] = max(dp[i-1][j-1], dp[i-1][j]) + arr[i][j] 그런데 좌표를 arr[1][1] 부터 시작하도록 설정하였으며 i-1 이 0이 나오는 dp[i][0]들은 0으로 초기화 시켜..

0. Basic React Native Concepts RN의 가장 기본적인 컨셉은 더이상 div, html이 없다는 것이다. 이것은 return 할 수 있는 컴포넌트가 정해져 있다는 뜻이다. 아와 같은 컴포넌트는 RN documentation에서 확인할 수 있다. view 컴포넌트를 이용하면 ios/android환경에 따라 objective-c 혹은 java로 변한다. RN은 굉장히 엄격하다. CSS와 비슷한 Style이라는 것을 사용한다. 1. React Native Layouts with Flexbox flexbox로 디자인을 짤 수 있는 앱은 RN이 유일하다. 기존 css와 백프로 동일하진않지만 비슷하다. 디폴트 설정으로 RN은 flex direction이 column이다. html, css에서는..

0. 제목 백준 1735 분수 합 BOJ 1735 분수 합 C++ 1735 분수 합 1. 문제 https://www.acmicpc.net/problem/1735 2. 풀이 유클리드 호제법을 사용하였다. 유클리드 호제법은 두 정수의 최대 공약수를 구하는 방법이다. 먼저 최대 공약수가 아닌 분모의 곱을 사용하여 합을 구한다. 그 후 분모와 분자의 최대공약수를 유클리드 호제법을 사용하여 구하고 분자와 분모를 최대공약수로 나누어준다. 3. 코드 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 #include using namespace std; int gcd(int x, int y){ int z = 1; while(y !..

0. 제목 백준 7562 나이트의 이동 BOJ 7562 나이트의 이동 C++ 7562 나이트의 이동 1. 문제 https://www.acmicpc.net/problem/7562 2. 풀이 dfs가 아닌 bfs를 이용한다. bfs를 활용했을 때 목적지에 도착했을 당시 최소 이동 횟수이기 때문이다. dfs는 목적지에 도착했을 때 최소 이동 횟수가 아니기 때문이다. 최소 이동 횟수를 구할 때는 bfs로 구해야 할 것같다.(내 생각) 배열 arr은 출발지로부터 해당 좌표(i, j)까지의 최소 이동 횟수를 담아 놓은 것이다. bfs방식으로 큐를 이용하여 출발 좌표부터 탐색을 시작하고 출발지 좌표가 나오면 그 때 arr배열의 값을 출력해주고 탈출하면 된다. 테스트케이스도 입력을 받으니 테스트케이스를 하나 실행할때 ..