본문 바로가기

전체 글225

[BOJ/Java] 17478 재귀함수가 뭔가요? import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BOJ17478 { static StringBuilder ans = new StringBuilder(); public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(in.readLine()); ans.append("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\n"); re(n, ".. 2022. 2. 3.
[BOJ/Node.js] 1786 찾기 결국 kmp 알고리즘 구현 문제 function lpsTable(str) { const len = str.length; let returnTable = new Array(len).fill(0); for (let i = 1, j = 0; i 0 && str[i] !== str[j]) j = returnTable[j - 1]; if (str[i] === str[j]) returnTable[i] = ++j; } return returnTable; } function kmp(long, short) { let table = lpsTable(short), lenLong = long.length, lenShort = short.length; let j = 0, count .. 2022. 1. 30.
[알고리즘] 탐색 알고리즘 발표용 정리 검색 JS에서는 배열에 담긴 element를 조사하기 위한 다양한 방법이 있다. 그 중 하나가 indexOf를 이용한 검색 (없으면 -1 반환) 내장함수 원리에 대한 공부 어떻게 활용할 수 있을지 공부 목표 탐색 알고리즘(Searching Algorithm)은 무엇인가 배열에 대한 선형 탐색(linear search) 수행 정렬된 배열에 대한 이진 탐색(binary search) 수행 naive한 String 탐색 알고리즘 구현 KMP String 탐색 알고리즘이라 불리는 것 구현 선형 탐색(Linear Search) indexOf Array - arr.indexOf(searchElement[, fromIndex]) 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 .. 2022. 1. 29.
[BOJ/Java] 2309 일곱 난쟁이 import java.util.Arrays; import java.util.Scanner; public class Prob2309 { // 제출시 Main으로 바꿔줘야함 static void permutation(int[] arr, int depth) { if (depth == 0) { // depth 0일때 arr는 7개 int sum = 0; for (int height: arr) { sum += height; } // 7개 다 더하고 100이면 해당 arr 출력하고 끝 if (sum == 100) { Arrays.sort(arr); // 무작위로 골라서라고 해도 순서대로 하라고 했기에 정렬 for (int height: arr) { System.out.println(height); } System... 2022. 1. 23.
[BOJ/Python] 16926 배열 돌리기 1 import sys input=sys.stdin.readline n, m, r = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(n)] for _ in range(r): for i in range(min(n,m)//2): temp = arr[i][i] boundary_x = n - i - 1 boundary_y = m - i - 1 for r in range(i, boundary_y): arr[i][r] = arr[i][r+1] for d in range(i, boundary_x): arr[d][boundary_y] = arr[d+1][boundary_y] for l in range(boundary_y, i,.. 2022. 1. 19.
[SSAFY] 웰컴키트 수령 드디어 도착했다 SSAFY 웰컴키트! 박스가 튼튼한 것이 귀엽다. 싸피라는 여행을 떠나기 위한 캐리어를 배달해준 듯? 찾아보면 티셔츠랑 집업이 가끔 본인에게 맞지 않는 사이즈가 온다고 들었는데 다행히도 맞는 사이즈가 왔다 ㅎㅎ 이벤트 페이지를 보니까 집업 검은색도 있던데.. 검은색이 아닌건 아쉽다 보딩패스 ㅋㅋㅋㅋ 화이팅해보자.. 스티커에 온통 싸피뿐..ㅎㅎ 웹캠도 있고 텀블러 검은색인 건 마음에 든다. 오후 입학식도 화이팅 2022. 1. 18.
[기록] 220117 기록 본과정에 들어오면서 본격적으로 포스팅 하기에 더 어려워진 듯 하다. 포스팅 귀찮은 핑계가 절대 아니다ㅎ 오늘을 4F로 정리해보자 Feelings : 뭔가 하고 있긴 한데, 할말하않 상태... 썩 좋지는 않다. 수업 잘 가고 있는 걸까..? 그냥 갑자기 프로그래밍 자신이 없어졌다. (수업이) 재미 없다. Facts + Findings : 확실한 건 메인과 반 수업이 따로 놀고 있다는 것. Java로 데이터 입력 받고 처리하기가 까다롭다. 이거를 잘 배워야겠다. 코테 어렵다. Future : 코테 스터디도 짜인 만큼 1일 1문제 풀자. 확실히 정리하자. Java는 그냥 구색만 맞추고 계속 JavaScript도 할 것인지. 코테는 또 어떻게 할 것인지 Python? 언어 3개 다 해서 좋을 게 있겠니? 진로 .. 2022. 1. 17.
[알고리즘] Sliding Window Pattern 심화 sliding window pattern을 이해하기 위한 좋은 예제 function minSubArrayLenSol(nums, sum) { let total = 0; // 들어온 sum과 비교할 window 내 값들의 합을 담아줄 total let start = 0; // window의 시작 index let end = 0; // window의 끝 index let minLen = Infinity; // return 해 줄 가장 짧은 window 길이. 어떤 길이여도 가장 처음 길이가 min이 되도록 Infinity로 입력 while (start < nums.length) { // window가 nums array를 벗어날 때까지 if (total < sum && end < nums.length) { /.. 2022. 1. 16.
[알고리즘] 문제해결패턴 지난 시간 문제 해결을 위한 일반적인 접근 방법에 관한 내용에 이어서 일반적인(general) 패턴에 관한 내용. 대표적으로 4가지를 이야기해 볼 수 있다. 1. Frequency counters Python에서 Counter 함수를 생각하면 된다. Python에서도 따로 내장함수로 만들어 뒀고, 강의에서도 일반적인 패턴으로 소개하는 것으로 보아 String 관련 문제에서 정말 많이 쓰이는 것 같다. String, Array 등 내의 각 element 개수를 세는데 이용하자. JavaScript 코드 function frequencyCounter(str) { let counterObject = {}; for (let val of str) { counterObject[val] = (counterObject.. 2022. 1. 15.
[SSAFY] 220113 기록 Recap. Java Java는 객체지향언어(OOP, Object-oriented Programming). 시작은 가전기기, 양방향 TV에서였다. 그런데 성능이 괜찮아서 프로그래밍 언어로까지 성장 platform → Java가 실행되는 실행환경 보통 쓰는게 Standard Edition(SE), 사물인터넷 때문에 Micro Edition도 뜨고 있음. Enterprise Edition(EE)은 Standard Edition까지 포함한다. enterprise 환경에서 돌아가는 Java network은 연결되어 있되, 멀리 떨어져있어도 되고, 사용자 pc에 Java가 없어도 되고. 웹에서 쓰는게 다 이런 형태지 뭐 우리가 필요한 건 인터넷 연결과 브라우저 뿐. class라는 것 하나가 object 한 개, .. 2022. 1. 13.