전체 글
-
[ 프로그래머스 SQL ] 우유와 요거트가 담긴 장바구니SQL 2020. 5. 18. 16:57
우유와 요거트를 동시에 구입한 장바구니와 아이디를 조회하는 SQL문을 작성하는 문제이다. 이 때, 결과는 장바구니 아이디 순으로 나와야 한다. Code SELECT CART_ID FROM CART_PRODUCTS WHERE CART_ID IN (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = '우유') AND NAME = '요거트' ORDER BY CART_ID Or SELECT A.CART_ID FROM (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME='요거트') AS A, (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME='우유') AS B WHERE A.CART_ID = B.CART_ID ORDER..
-
[ 2019 KAKAO BLIND RECRUITMENT ][ C++ ] 오픈채팅방Algorithm/프로그래머스 2020. 5. 7. 18:22
stringstream 을 이용하면 C의 strtok와 같이 공백 문자를 기준으로 string을 자를 수 있다. 이를 사용하기 위해서는 #include sstream 를 선언해야 한다. 이 문제를 풀 때 가장 고민했던 점이 공백 문자를 기준으로 문자열을 어떻게 쉽게 나눌 수 있을까 였는데 strtok를 쓰는 것보다 stringstream 클래스를 이용하면 문자열 처리가 쉬워진다. Code Strtok를 사용하는 방법 #include #include #include #include #include using namespace std; map m; vector rec; // 문자열 자르기 void splite(vector record) { char *str = new char[100]; for (int i ..
-
[ c++ ][ Python ] 퇴사Algorithm/백준 2020. 4. 30. 17:31
처음에 문제를 읽고나서 가장 먼저 든 생각은 DFS면 풀리겠다 였다. 생각대로 i번째 날짜에서 상담을 하는 경우와 하지 않는 경우로 나누면 답을 빨리 구할 수 있었다. 이 경우 N이 최대 15이기 때문에 재귀로 문제를 풀어도 문제가 발생하지 않는다. DFS code C++ #include #define MAXSZ 17 using namespace std; int N, res = -1; int day[MAXSZ]; int price[MAXSZ]; void solve(int cur, int sum) { if (cur == N) { if (res N) return; solve(cur + 1, sum); solve(cur + day[c..
-
[ Python ] 오르막수Algorithm/백준 2020. 4. 28. 16:55
python을 잘 사용하지 못해서 시작을 어떻게 할지에 대해 열심히 고민했다. dp = [[1]*10 for _ in range(N)] 해당 코드를 통해 2차원 리스트를 생성할 수 있다. 문제를 풀 때 출력에서 가장 큰 고생을 해서 여러 방면으로 출력을 해보려고 노력했다. print (dp[N-1][9] % MOD) print (dp[-1][-1] % MOD) print (sum(dp[-1])%MOD) python에서는 배열의 index에 마이너스 기호(-)를 붙이면 뒤에서부터 index를 가르킨다. 단순히 dp[-1] 이라고 선언하면 dp 배열의 마지막행 전체를 나타낸다. Code N = int(input()) MOD = 10007 dp = [[1]*10 for _ in range(N)] for r i..
-
[ Android ] 스플래시 화면 ( 로딩 화면 )Android 2020. 4. 2. 15:40
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant Splash Screen ( 로딩 화면 ) 앱이 실행되기 전에 잠깐 보였다 사라지는 화면을 Splash Screen이라고 부릅니다. 이 화면은 앱이 어떤 것인지를 알려주는 역할도 하고 메인 화면이 초기화될 때까지 시간이 걸리면서 사용자에게 주는 지루함을 없애주는 역할도 합니다. Splash Screen을 구현하는 방법은 2가지로 나눌 수 있습니다. 1. 로딩 화면을 메인으로 설정하는 방법 ( SplashActivity → MainActivity ) 2. 메인 화면에서 로딩 화면을 호출하는 방법 ( MainActivity → SplashActivity → MainActivity ) 아래의 코드는 앱의 시작점을 로딩 화면으로 설정하는 ..
-
[ Android ] ListViewAndroid 2020. 3. 31. 16:59
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant ListView 최근 실무에서는 ListView 보다는 RecyclerView를 많이 사용합니다. 여러 개의 item 중에서 하나를 선택하는 방식을 가진 선택 위젯은 Adapter를 사용합니다. 화면에 보이는 View가 데이터를 관리하는 것이 아니라 Adapter가 데이터를 관리하는 방식으로 사용하게 됩니다. Adapter는 데이터를 관리하면서 동시에 위젯을 통해 보일 각각의 item을 위해 View를 만들어 줍니다. ListView는 여러 개의 Item을 위 아래로 스크롤 할 수 있게 해주면서 각각의 item을 순서대로 보여주는 역할을 합니다. 각각의 item은 독립적인 View로 만들어지게 되고 View들이 모여있는 형태를 유지..
-
[ Android ] 페이지 슬라이딩Android 2020. 3. 31. 16:18
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant Page Sliding 페이지 슬라이딩은 버튼 등을 눌렀을 때 보이지 않던 뷰가 슬라이딩 방식으로 보이는 것으로 여러 뷰를 하나씩 전환하면서 보여주는 방식에 애니메이션을 결합한 것입니다. 겹쳐져 있는 여러 뷰를 하나씩 전환하면서 보여주기 위한 방법으로는 Frame Layout을 사용합니다. 참고 : ViewPager로 프래그먼트 간 슬라이드 Code res / anim / translate_left.xml tag는 View가 위, 아래 또는 좌, 우로 이동하도록 만듭니다. 여기서는 fromXDelta 속성과 toXDelta 속성이 사용되었으므로 X 방향 ( = 좌/우 ) 로 이동하게 됩니다. 만약 Y 방향 ( = 위 / 아래 )로 ..