목록분류 전체보기 (106)
기억은 짧고 기록은 길다
기존에 ajax로 form 데이터 전송 시 $("#form_id").serialize()의 형태로 데이터를 전송하는것을 알고 당연하게 사용하고 있었다. Fingerprint를 사용하기 위해 Form에 데이터를 추가해주려고 했지만 서버에 Fingerprint를 셋팅하기 위해서는 유료버전을 사용해야 하는것 같았고 jsp에 으로 셋팅하자니 사용자의 위변조 가능성이 있는점을 생각해 API 호출 시점에 Fingerprint 값을 생성해 값을 전송하고자 하였다. 기존 로직을 최대한 건드리지 않기 위해 기존 ajax에서 $("#form_id").serialize() 형태로 전송하던 데이터에 간단하게 파라미터를 추가하고 싶어 방법을 찾아보았다. 데이터 serialize 시 URL에 붙는 queryString과 동일한 ..
Link 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr Solution 해당 문제는 combinations와 Counter를 이용해 해결할 수 있었다. Counter에 포함된 메서드에 대한 설명은 아래 첨부 링크를 참고바란다. from itertools import combinations from collections import Counter def solution(orders, course): answer = [] for i in range(len(course)): c = [] for j in range(..
Link 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr Solution 해당 문제를 풀기 위해서는 10진수를 n진수로 변환하는 방법을 필수 적으로 알아야한다. 다음은 기본적인 10진수 -> n진수 변환법이다. # n: 진수 변환을 위하는 10진수 # q: 변환을 원하는 진수 def solution(n, q): b = '' while n > 0: n, mod = divmod(n, q) b += str(mod) return b[::-1] 필자의 풀이는 해당 변환법을 활용하여 해결하였다. 또한 문..
Link 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr Solution 시작에 앞서 필자의 풀이는 틀린 풀이이다. 필자는 예를 들어 '( [ ) ]'같은 경우도 True 인 경우라고 생각했으나 다른 풀이를 찾아보며 '( [ ) ]'인 경우는 False라는 것을 알게 되었다. 올바른 괄호의 경우 괄호가 엇갈리게 닫혀있는 경우는 제외한다. def isCorrect(s): if s[0] == ']' or s[0] == '}' or s[0] == ')': return False cnt = [0, 0, 0] for i in range(len(s)): if s[i] == '[': cnt[0] += 1 elif s[i] == ']': cnt[0] -= 1 elif s[i] == '{': cnt[1..
Link 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr Solution 처음에 풀때는 간단한 문제라 생각하고 풀었지만 역시나 시간초과에 걸리고 말았다. def solution(n, left, right): answer = [] for i in range(n): for j in range(n): answer.append(max(i + 1, j + 1)) return answer[left:right + 1] Other Solution 이에 left와 r..