목록대학교 (252)
SW
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배열의 값을 출력해주고 탈출하면 된다. 테스트케이스도 입력을 받으니 테스트케이스를 하나 실행할때 ..
0. 제목 백준 2252 줄 세우기 BOJ 2252 줄 세우기 C++ 2252 줄 세우기 1. 문제 https://www.acmicpc.net/problem/2252 2. 풀이 Topological Sort(위상 정렬)을 사용하는 문제이다. 위상 정렬은 indegree 즉, 자신에게 들어오는 노드 수를 계산하고 indegree가 0이 되면 먼저 정렬해 주는 것이다. 위상 정렬의 특징 중 하나는 사이클이 생기면 안된다는 것이다. indegree가 모두 0보다 크면 사이클이 생긴다는 의미이다. 따라서 위상 정렬은 indegree가 0인 것이 하나 이상 존재할 때 가능하다. 이 문제에서 1 3 이 주어졌을 때 1 다음에 3이 줄을 서야 한다. 방향을 나타내면 1 -> 3 으로 나타낼 수 있고 이 상황에서 3의..
0. React Native React Native는 네이티브 웹 어플리케이션을 빌드하게 도와주는 UI 라이브러리이다. 줄여서 RN이라고 부르겠다. RN은 html, css 어플리케이션을 생성하지 않는다. 마지막 컴파일링 할 때, 각각 iOS(objective-C) / android(java) 네이티브 코드로 실행이 된다. RN이 구동되는 방법은 JSX, 자바스크립트로 작성을 하고, 그 뒤에서 자바스크립트가 objective-c 혹은 java로 변환되는 것이다. 페이스북이 개발한 이 기술에 의하여 js - objective-c , js - java 의 다리(bridge)가 연결되는 것이다. react js 코드와 비슷하다. 차이점은 다른 패키지를 쓰는데, 그 패키지 이름이 react native이다. 웹..