TIL_230831

Sol Lee·2023년 9월 19일
0

오늘 한 일

프로그래머스 알고리즘 문제 풀기

# 제일 작은 수 제거하기

# 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 
# 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요.
# 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

# 내 코드
def solution(arr):
    if len(arr) == 1:
        return [-1]
    else:
        array_num = sorted(arr, reverse=True)[-1]
        arr.remove(array_num)
        return arr

# 다른 사람 코드
def solution(arr):
    return [i for i in arr if i > min(arr)]

## 빈 배열일 경우 -1을 리턴하는 부분이 없는 구버전 해설
## for문 돌며 배열에서 제일 작은 수보다 큰 수만 추가
## arr이가 길어질 수록 효율적이지는 않다고 함



# 가운데 글자 가져오기

# 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 
# 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

# 내 코드
def solution(s):
    answer = ""
    mid_index = len(s)//2

    if len(s) % 2:
        answer = s[mid_index]
    else:
        answer = s[mid_index-1:mid_index+1]
    
    return answer

# 다른 사람 코드
def solution(s):
    return s[(len(s)-1)//2 : len(s)//2 + 1]

## a//b = a/b 몫만 반환(소수점 버림)

## 예시 1 
## s = 'string', len(s) = 6
## s[(6-1)//2: 6//2 +1] = s[2:4] = 'ri'
## 예시 2
## s = 'catoreo', len(s) = 7
## s[(7-1)//2: 7//2 +1] = s[3:4] = 'o'



# 수박수박수손에불날때까지박수

# 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 
# 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

# 내 코드
def solution(n):
    answer = ''

    for i in range(1,n+1):
        if i % 2:
            answer += '수'
        else:
            answer += '박'
            
    return answer

# 다른 사람 코드
def solution(n):
    str = "수박"*n
    return str[:n]

## str을 두배로 만들기 때문에 효율적이지는 않음

ERD 특강

초간단 정리

  • ERD = 업무에 필요한 정보를 저장하고 관리하기 위한 집합의 그림
    설계 단계에서 사용함
    주로 고연차의 업무(이지만 알아두면 뭔들 안 좋것나)
  • PK = primary key = 테이블에서 유일한 식별값
  • FK = foreign key = 다른 테이블의 PK를 참조
  • PK, FK 사용으로 불필요한 중복데이터 방지


  • id가 55인 record의 self.user_id.name = ‘팡집사’ 로 접근 가능
  • one to many = O2M = 일대다 = 아티스트 한명이 여러 앨범을 발매했을 수 있음
  • many to one = M2O = 다대일 = 여러 곡을 한명의 아티스트가 작곡했을 수 있음
  • many to many = M2M = 다대다 = 앨범에 여러 곡과 여러 아티스트가 참가 했을 수 있음
profile
직업: 개발자가 되고 싶은 오레오 집사

0개의 댓글