목록전체 글 (372)
라떼는말이야
문제 설명 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. 위의 점수표에서, i행 j열의 값은 i번 학생이 평가한 j번 학생의 과제 점수입니다. 0번 학생이 평가한 점수는 0번 행에담긴 [100, 90, 98, 88, 65]입니다. 0번 학생은 자기 자신에게 100점, 1번 학생에게 90점, 2번 학생에게 98점, 3번 학생에게 88점, 4번 학생에게 65점을 부여했습니다. 2번 학생이 평가한 점수는 2번 행에담긴 [47, 88, 95, 80, 67]입니다. 2번 학생은 0번 학생에게 47점, 1번 학생에게 88점, 자기 자신에게 95점, 3번 학생에게 80점..
당첨 확률이 높은 숫자 10개는 다음과 같다. 01, 11, 41, 04, 07, 37, 26, 40, 25, 12 분석 방법 및 나의 생각 1회 ~ 972회의 데이터를 가지고 딥러닝 알고리즘(LSTM)으로 학습을 시켜 1 ~ 45의 숫자가 각각 다음 회차(971회)에 몇 %의 확률로 적중할 것인지 분석한 결과이다. 참고로 LSTM은 RNN 계열이고, 시계열 데이터에서 주로 사용하는 알고리즘이며 이전의 결과가 다음의 결과에 영향을 미치는 데이터를 학습시키는데 사용된다. 즉, 시간에 따라 변하는 집 값의 변화 추이, 주가의 변동, 자연어 처리 등을 학습할 때 주로 사용하는 알고리즘이다. 지금까지 당첨된 번호들이 다음 결과와 연관이 있다는 가정 하에 LSTM 알고리즘을 사용하게 된다. 결과를 보면 알겠지만 ..
문제 설명 1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 예를 들어 가 있다면 가장 큰 정사각형은 가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다. 제한사항 표(board)는 2차원 배열로 주어집니다. 표(board)의 행(row)의 크기 : 1,000 이하의 자연수 표(board)의 열(column)의 크기 : 1,000 이하의 자연수 표(board)의 값은 1또는 0으로만 이루어져 있습니다. 입출력 예 입출력 예 설명 입출력 예 #1 위의 예시와 같습니다. 입출력 예 #2 로..
마지막 1단계 문제이다. 이전에 이 문제를 풀 때 너무 머리가 안 돌아서 놔두고 쳐다도 안보고 있었는데 다시 보니 생각보다 어려운 개념이 아니었다. (처음엔 완전탐색법을 사용해야 하는 줄 알고... ) 그래도 이 문제는 1단계 치고는 어려운 문제였다. 와 이제 1단계 문제 다 풀었다~~ 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 ..
문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상인 문자열입니다. s는 알파벳과 공백문자(" ")로 이루어져 있습니다. 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 ) 입출력 예 나의 코드 def solution(s): s = s.split(' ') for i in range(len(s)): s[i] = s[i].capitalize() return ' '.join(s) 그렇게 어려운 문제는 아니다. 문자열 내장함수를 더 많이 알수록 쉬워지는 문제이다. capit..
문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. 입출력 예 나의 풀이 from math import gcd def solution(arr): for i in range(1, len(arr)): arr[i] = arr[i-1] * arr[i..
Summer/Winter Coding(~2018) 문제입니다. 문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차..
UI 디자인 XML에서 모르는 부분은 댓글로 물어봐주세요. 따로 설명하지는 않겠습니다. Android - CountDownTimer 안드로이드에서 카운트다운을 위한 메소드를 제공해준다. public abstract class CountDownTimer 사용법은 다음과 같다. object : CountDownTimer(30000, 1000) { override fun onTick(millisUntilFinished: Long) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000) } override fun onFinish() { mTextField.setText("done!") } }.start() CountDownTimer의 인..