2024/08 10

SQLD 필수 개념 요약 정리 / 벼락치기, 독학, 요약본

SQL은 비절차적 언어로, 절차적 언어 (JAVE,C 등등)과는 다르다. SQLD에서 나오는 핵심 개념들은 요약정리 해보자 🐸(최소한 이것만은 외우고 가자는 마인드 !) 처음보는 용어이면, 익숙해지고한번 봤던 용어면 상기하며 외워보자🧐 빠르게 핵심만 공부해서 벼락치기로 합격까지 !! 📌모델링 1. 현실 세계 데이터를 약속된 표기법으로 표현2. 가시화, 명세화 필요 3. 데이터 분석하여 추상화 (단순화,요약) 모델링은 시스템 분석 + 업무 분석 + 업무 형상화 등을 위해 진행된다.또한 명칭은 복합명사를 사용하여 유일성을 확보한다. 📌모델링의 특징1. 추상화2. 단순화 3. 명확화   📌모델링 시 유의사항 1. 중복 최소화2. 비유연성 최소화 3. 비일관성 최소화 (중복,비유연성,비일관성 되게 하지..

SQL 2024.08.21

삼성 청년 SW 아카데미 (SSAFY, 싸피) 12기 전공자 불합격 후기

정신없는 6~8월이 흘러가고 있다. 싸피에 붙을줄 알았지만, 떨어져서 내가 생각했던 계획들이 많이 깨졌다.쓴다 쓴다했던 싸피 12기 후기를 이제서야 남긴다. 비록 불합격입지만, 다음 기수를 준비에 도움이 될 듯 한다.  내가 싸피를 준비하면서 얻은 정보들 기반으로 작성해서, 틀린 정보들이있을 수 있다는 점을 꼭 참고하자 ! 📌 SSAFY란 ? 먼저 싸피가 무엇인지에 대해 간단히 알아보자. Samsung Sofrtware Academy For Youth의 약자로, 삼성 그룸의 후원으로 진행이 된다.멀티캠퍼스라는 업체에서 이 교육을 위탁 받아 진행된다. (사실 멀티캠퍼스는 삼성이 소유하고 있으니, 삼성이 운영한다 보면 될 듯하다.) 싸피 지원은 만 29세 이하 4년제 대학 졸업자 및 졸업 예정자들 대상으로..

일상 2024.08.18

[Python][백준] 1932. 정수 삼각형/ DP (S2)

🔗링크 :   https://www.acmicpc.net/problem/1932🗒️파이썬 코드 풀이n=int(input())d=[]for i in range(n): d.append(list(map(int, input().split())))for i in range(1,n): for j in range(len(d[i])): if j==0: d[i][j]=d[i][j]+d[i-1][j] elif j==len(d[i])-1: d[i][j]=d[i][j]+d[i-1][j-1] else: d[i][j]=max(d[i-1][j-1],d[i-1][j])+d[i][j]print(max(d[n-1])) 1. 전형적인 DP 문제이다.  2. 반복문은 크게 2가지가 필요하..

[Python][백준] 1193. 분수찾기 / 구현 (S5)

🔗링크 :   https://www.acmicpc.net/problem/1193🗒️파이썬 코드 풀이N = int(input())count,line = 0,0while N > count + line : count = count + line line += 1if line%2 == 0: print(f"{N-count}/{line-(N-count)+1}")else: print(f"{line-(N-count)+1}/{(N-count)}") 1.  ↗  뱡향의 합이 일치하는 점을 염두한다.  2. 먼저 입력 받은 N의 줄(line)과 이전 줄의 끝 번호(count)를 알아낸다. 3. 각 줄이 짝수 or 홀수일 경우를 나눠서 출력해주면 된다. 단순히 (1) N(전체값) - 이전 줄의 끝 번호..

[Python][백준] 1149. 소수&팰린드롬 / 브루트포스, 에라토스테네스의 체 (S1)

🔗링크 :   https://www.acmicpc.net/problem/1747🗒️파이썬 코드 풀이N = int(input())lst = [0] * 2000000lst[0],lst[1] = 1,1count = 2 while count  1. 문제 내용은 깔끔하다. - 최소한의 시간 복잡도로 소수를 만들 수 있는지?- 팰린드롬을 구현 할 수 있는지 ? 2. 먼저 소수 리스트부터 만들어보자. 1. 넉넉하게 2,000,000 크기의 리스트를 만들어 준다.2. 예외 값인 0과 1의 값은 미리 채워준다.  (꼭 채워줘야함)3. count를 1씩 증가 시키며,  lst에서 count만큼의 인덱스 값이 0이면 해당 배수 1로 처리(count 값이 커질 수록 연산 기하급수적으로 감소) 3. 다음으로 팰린드롬은 간단..

[Python][백준] 1259. 팰린드롬수 / 구현,문자열 (B1)

🔗링크 :   https://www.acmicpc.net/problem/1259🗒️파이썬 코드 풀이while True: num = input() if num == "0": break if num == num[::-1]: print("yes") else: print("no") 1. 간단하게 [: : -1] 인덱싱으로 뒤집어 주면 된다.  2.펠린드롬이니까 꺼꾸로 한 값이랑 같으면 "yes" 그 외는 "no"를 출력하면 된다.  📌  문제 코멘트별로 어려운 문제는 아니다. 근데 가끔 [: : -1 ] 거꾸로 인덱싱 하는 방법을 까먹어서 포스팅 해봤다.  📚문제어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'ra..

[Python][백준] 1987. 알파벳 / 백트래킹,DFS (G4)

🔗링크 :   https://www.acmicpc.net/problem/1987🗒️파이썬 코드 풀이R,C = map(int,input().split())lst = []for i in range(R): tmp = list(input()) lst.append(tmp)di,dj = [0,1,0,-1],[1,0,-1,0]alphabet = [0] * 26alphabet[ord(lst[0][0])-65] = 1mx = 0def dfs(i,j,count): global mx mx = max(mx,count) for k in range(4): ni,nj = i+di[k],j+dj[k] if 0 1. BFS를 먼저 생각해보았지만, 알파벳 체크 부분이 안돼서 DFS..

[Python][백준] 2661. 좋은수열 / 백트래킹 (G4)

🔗링크 :   https://www.acmicpc.net/problem/2661🗒️파이썬 코드 풀이N = int(input())def check(lst): for i in range(1,len(lst)//2+1): # 몇 개씩 확인 할 것인지 for j in range(len(lst)-i): if lst[j:j+i] == lst[j+i:j+i+i]: return False return True mn = 1e100def dfs(n,lst): # return -1로 상위 호출에서 다른 경로 탐색 제어 if not(check(lst)): return -1 global mn if ..

[Python][백준] 6603. 로또 / 백트래킹,재귀,조합 (S2)

🔗링크 :   https://www.acmicpc.net/problem/6603🗒️파이썬 코드 풀이def dfs(n,idx): if n == 6: print(*rs) return for i in range(idx,K): rs.append(lst[i]) dfs(n+1,i+1) rs.pop()while True: lst = list(map(int,input().split())) K,lst = lst[0],lst[1:] rs = [] if K == 0 : break dfs(0,0) print() 1. Itertools로 간단하게 풀 수 있지만, 라이브러리를 배제하고 풀어보자. 2. 흔한 백트래킹..