[ 누적합 ] 백준 - 2차원 배열의 합
·
알고리즘
https://www.acmicpc.net/problem/2167/ 풀이과정누적합을 사용해보자! 물론 for문 써도 되는데 문제 조건이 헤비함배열의 크기 N, M(1 ≤ N, M ≤ 300)합을 구할 부분의 개수 K(1 ≤ K ≤ 10,000) 최악의 경우 300x300 크기의 배열에 K가 10,000개 이면연산을 300*300*10,000번 해야됨. 에바잖슴 그래서 누적합을 써야된다! 누적합 배열을 처음에 생성할때 시간복잡도는 O( N * M )합을 구할때에는 O( K )이다. 그래서 누적합을 사용하면 최종 시간복잡도는 O( N * M + K )가 된다  코드import java.io.*;import java.util.*;public class Main { public static void mai..
[ CS ] 인증 & 보안 - SSO
·
cs 지식
보호되어 있는 글입니다.
[ Java ] 프로그래머스 - 최솟값 만들기
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이과정내 생각에는 일단 최솟값을 만들기 위해서는 극단적 예시로 배열이A : [ 1, 2, 3 ]B : [ 1, 2, 3 ]이렇게 주어졌을때 오름차순 * 오름차순보다는  (결과 1*1 + 2*2 + 3*3 = 14)A : [ 1, 2, 3 ]B : [ 3, 2, 1 ]이렇게 오름차순*내림차순을 곱했을때 최솟값일거라는 생각이었고, (결과 1*3 + 2*2 + 3*1 = 10)그 생각이 맞았다. 1. 코드import java.util.*;class..
[ Java ] 프로그래머스 - 3진법 뒤집기
·
알고리즘
문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. class Solution { public int solution(int n) { if(n 어려운 문제는 아닌데 Integer.parseInt(String s, int radix)이 메서드 때문에 작성한다. radix 진법의 수 s 를 10진법 int형으로 바꿔주는 메소드인데, 편해보이니까 기억해두자.
[ Python ] 정렬 알고리즘
·
Python
사실 파이썬에서는 sort, sorted를 지원하지만, 직접 구현해보자 이말입니다.1. 선택정렬인덱스 0번부터 비교시작0번 뒤에 애들 중 가장 작은 값 찾기있으면 0번이랑 자리 바꾸고, 없으면 넘어간다.인덱스 1번~시간복잡도는 O(n^2)#1.선택알고리즘arr1=[2,4,5,1,3]def selection_sort(arr): for i in range(len(arr)-1): min_idx = i for j in range(i+1, len(arr)): if arr[j]   2. 삽입정렬삽입정렬은 1번 인덱스부터 시작한다. ( 0 아님)1번과 0번을 비교. 1번이 더 작으면 자리 바꾼다.2번 인덱스에서 시작.2번과 1번 비교 후 2번이 작으면 자리 바꿈.1번..
[ Python ] SHDS_코테특강
·
Python
얕은복사 vs 깊은복사깊은 복사(Deep Copy)는 '실제 값'을 새로운 메모리 공간에 복사얕은 복사(Shallow Copy)는 '주소 값'을 복사a=[1,2,3,4]b = a #얕은복사c = a.copy() #깊은복사print(id(a)) #1611153021184print(id(b)) #1611153021184print(id(c)) #1611153019264 is 와 == 차이 is는 변수가 저장된 장소가 같은 지 확인 ==는 변수의 값이 같은 지 확인 비트연산자논리연산자는 and, or 지만,비트연산자는 파이썬에서는 &, | 를 사용함ex ) 7 -> 0111, 13 -> 11017 & 13 = 0111 & 1101 = 0101 = 5 이거를 언제사용하냐? 2차원 배열 같은곳에서 서로 값을 각 배..
[ Python ] filter()함수
·
Python
filter()iterable 객체(리스트, 튜플 등)의 요소들을 특정 조건에 맞게 필터링할 때 사용되는 내장 함수지정된 함수로 각 요소를 평가하여,  검사결과가 True인 애들만 반환함. #기본형filter(function, iterable) ex1) 람다 사용numbers = [1, 2, 3, 4, 5, 6]# 짝수만 필터링result = filter(lambda x: x % 2 == 0, numbers)print(list(result)) # 출력: [2, 4, 6] ex2) None 사용data = [0, 1, False, True, '', 'Hello', [], [1, 2]]result = filter(None, data)print(list(result)) # 출력: [1, True, 'Hel..
코테를 위한 파이썬 기초 - 계속 수정 중
·
Python
파이썬으로 준비하던 코테,,, 자바 기초부터 공부한다고 한동안 자바로 코테 준비했더니 파이썬 초기화됨,,,그래도 전에 하던게 있으니 금방 복구할 수 있음 그 동안 자바하면서 시간복잡도 솔직히 생각 안하고 많이 풀었었는데파이썬은 좀 신경써야됨. 시간복잡도 생각하면서 풀기1. input 여러개a, b = map(int ,input().strip().split(' '))위는 a,b가 int일때,a,b = input().strip().split(' ')얘는 a,b가 문자열로 저장됨. 2. swapcase()str = input()print(str.swapcase())str안의 문자들이 소문자->대문자 & 대문자->소문자로 각각 변경됨. 3. 특수문자 출력print(r'!@#$%^&*(\'"?:;')앞에 r 붙여..
[ Stack & Queue ] 백준 12789번 도키도키 간식드리미
·
알고리즘/Stack & Queue
문제 링크: https://www.acmicpc.net/problem/12789문제 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두근 설레서 시험 공부에 집중을 못 한다. 이번 중간고사에서도 역시 승환이는 설레는 가슴을 안고 간식을 받기 위해 미리 공지된 장소에 시간 맞춰 도착했다. 그런데 이게 무슨 날벼락인가! 그 곳에는 이미 모든 학생들이 모여있었고, 승환이는 마지막 번호표를 받게 되었다. 설상가상으로 몇몇 양심에 털이 난 학생들이 새치기를 거듭한 끝에 대기열의 순서마저 엉망이 되고 말았다. 간식을 나눠주고 있던 인규는 학우들의 터져 나오는 불만에 번호표 순서로만 간..
[ Spring Project ] 프로젝트 설계 & 결제 프로세스
·
[ 프로젝트 ]
1. ERDhttps://www.erdcloud.com/d/HAM6vEgJ7on4cK8KJ Copy of Project_1Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.www.erdcloud.com ERD는 초기에 위와 같이 설계를 했으나, 코딩을 하면서 변경사항이 발생해 나중에는 많이 달라졌다.   2. FIGMAhttps://www.figma.com/design/BUmGYs5kUMSuj5ErRtg9Ta/Untitled?node-id=0-1&m=dev&t=KTK8JkYDE0gxzVxP-1 화면 설계 또한 설계를 했지만, 아무래도 프런트엔드 쪽은 아직 어려워서 ..
hanjuCoding
'분류 전체보기' 카테고리의 글 목록