목록전체 글 (248)
와챠의 우당탕탕 코딩 일기장
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lKTzn/btq84vkSGen/8PemO2aDVu3ZLEhyLOeh0k/img.png)
알고리즘 : 어떤 문제의 해결을 위해, 입력된 자료를 토대로 하여 원하는 출력을 유도해 해는 규칙의 집합 시간 복잡도 : 입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계 ㄴ 상수는 신경쓰지 않음! 공간 복잡도 : 입력값과 문제를 해결하는 데 걸리는 공간과의 상관관계 공간 복잡도모다는 시간 복잡도를 더 신경써야 함 점근 표기법 : 알고리즘의 성능을 수학적으로 표기하는 방법, 알고리즘의 효율성을 평가하는 방법 ㄴ 빅오(Big-O)표기법 : 최악의 성능이 나올 때 어느 정도의 연산량이 걸리는지? ㄴㄴex) O(N) ㄴ 빅 오메가(Big-Ω) 표기법 : 최선의 성능이 나올 때 어느 정도의 연산량이 걸리는지? ㄴㄴex) Ω(1) 최댓값 찾기 input = [3, 5, 6, 1, 2, 4] def find_m..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sOz6q/btq8UPby2WU/zQYnKh0K5k4fowCuxXJsKK/img.png)
문제 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. 입력 첫째 줄에 행렬의 크기 N과 B가 주어진다. (2 ≤ N ≤ 5, 1 ≤ B ≤ 100,000,000,000) 둘째 줄부터 N개의 줄에 행렬의 각 원소가 주어진다. 행렬의 각 원소는 1,000보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄부터 N개의 줄에 걸쳐 행렬 A를 B제곱한 결과를 출력한다. 풀이(JAVA) ......헷갈려 .................어려워 행렬은 처음 다뤄보는 거 같은데 쉬운 거 같으면서도 헷갈림 낼 더 공부해야 함
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kAM8N/btq8L8QEs6j/g0jzQEbIDX1gem3A9GHob1/img.png)
문제 자연수 N과 정수 K가 주어졌을 때 이항 계수 (NK)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 4,000,000, 0 ≤ K ≤ N) 출력 (NK)를 1,000,000,007로 나눈 나머지를 출력한다. 풀이(JAVA) 모듈러 연산과 페르마 소정리를 이용해서 푸는 문제였다. ㅡㅡ이렇게 완전 깊고깊은 수학 공식을 알아야하는 문제 개싫음 그냥 식을 제공해줬으면 함 처음에는 메모이제이션으로 풀었다가 숫자가 너무 커서 시간초과 걸림... 메모이제이션이 내가 젤 잘하는 건데...................... 모듈러랑 무슨...페르마 소정리!??!! 참내.... 근데 이렇게 푸니까 시간도 빠르게 걸리고 용량도 덜 차지함..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qmQG3/btq8ICRBZYf/e9XJsUjzWPV7HfFpKvLdt1/img.png)
문제 두 마리의 백조가 호수에서 살고 있었다. 그렇지만 두 마리는 호수를 덮고 있는 빙판으로 만나지 못한다. 호수는 행이 R개, 열이 C개인 직사각형 모양이다. 어떤 칸은 얼음으로 덮여있다. 호수는 차례로 녹는데, 매일 물 공간과 접촉한 모든 빙판 공간은 녹는다. 두 개의 공간이 접촉하려면 가로나 세로로 닿아 있는 것만 (대각선은 고려하지 않는다) 생각한다. 아래에는 세 가지 예가 있다. 백조는 오직 물 공간에서 세로나 가로로만(대각선은 제외한다) 움직일 수 있다. 며칠이 지나야 백조들이 만날 수 있는 지 계산하는 프로그램을 작성하시오. 입력 입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bgeEYE/btq8GpcJYsy/Sb7oKWfbW1Lc29E6ZuKbfk/img.png)
문제 수빈이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 수빈이가 정수를 하나씩 외칠때마다 동생은 지금까지 수빈이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 수빈이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. 예를 들어 수빈이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 수빈이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로..
방학도 되었겠다 코테 공부를 열심히 하고 싶은데 막상 하려니 무슨 언어로 해야할지 고민이 되기 시작했다... 지금까진 코테 사이트에서 공부할 때 C, JAVA를 썼었다. 근데 C는 거의 까먹은 상태고ㅋㅋ 빠르다는 점 외에는 나한테 딱히 매력도 없음 나한텐 객체 중심인 JAVA가 잘 맞는 거 같다. 근데... 내가 지금 관심을 갖고 있는 직군은 안드로이드 앱 개발이랑 유니티 게임 개발임 (나는 먼가 이렇게 폰에서 사용할 수 있는 무언가를 만드는 게 재밌는 거 같다!!) 안드로이드는 자바로도 할 수 있지만 나는 코틀린...을 사용하고 있음 수업시간 때 배웠다는 이유... 그리고 자바랑 호환도 되고 세미콜론 없어도 되고 코드가 더 간결해진 느낌이라 코틀린을 사용하고 있음 유니티는 C#인데.... 문제는 코틀린..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oZJSY/btq7ZmbQY6w/JFfoDCrxatxxEQVFIfZRG1/img.png)
오늘 구현해 볼 건 이미지 크롭하기~~ 실행화면은 아래와 같다. 1. Gradle.build(:app)에 라이브러리 추가하기 implementation 'com.yanzhenjie:permission:2.0.3' // 권한 설정 위해 implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' // 사진 크롭 위해 2, Manifest에서 갤러리 접근 권한 추가하기 3, Manifest에서 크롭 액티비티 추가하기 4, 코드 짜기 생각보다 쉬웠다!!! 라이브러리만 추가하면 뚝딱뚝딱 만들 수 있음...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m2aI9/btq7ZghxOgn/Zl9DJGI5dYZAIA7L5Nypi0/img.png)
json으로 가져오면 item이 1개일 때 배열로 받아오지 못하는 문제가 있어서 xml로 가져와보기로 했다. 사진이 없으면 기본 사진 보이게 했다! 맨 위가 그 예시임 참고로 xml은 이렇게 생김 외부에서 데이터를 가져오기 때문에 AndroidManifext.xml에 추가하고 application 안에 android:usesCleartextTraffic="true" 추가 list_item_tour.xml : api의 item을 담을 공간, 리사이블러뷰에 들어갈 아이템 activty_main.xml : 위에서 담은 아이템들을 보일 공간, 리사이클러뷰 Tour.kt : 아이템 담을 데이터 클래스 TourAdapter.kt : 리사이클러뷰 어댑터 MainAvtivity.kt : xml 파싱해서 얻은 아이템들을..