info) 서브세션 1주차


[문제1]

  • 입력 파라메타 4개를 받아서 result 값을 리턴하는 함수 calculateSecond()를 작성합니다.
  • 입력 파라메타는 모두 정수이며, day는 날짜 수, hour는 시간 수, minute는 분 수, second는 초 수입니다.
  • 리턴 값인 result는 입력 파라메타를 모두 초로 환산하여 합산한 결과인 정수 값 입니다.
  • 예를 들어, calculateSecond(1,1,1,1)을 실행하면, result는 하루(24시간) + 한시간 + 1분 + 1초를 초(second)로 환산한 값으로 90061 입니다.

[풀이]

#calculateSecond 함수 정의
def calculateSecond(day: int, hour: int, minute: int, second: int): # 각 변수에 타입 설정
    result = second + (minute * 60) + (hour * 60 ** 2) + (day * 24 * 60 ** 2) # 계산식을 통해 초 변환
    return int(result)
    
#calculateSecond(1,1,1,1) 결과 출력
calculateSecond(1,1,1,1)

[문제2]

  • 입력 파라메타 1개를 받아서 result 값을 리턴하는 함수 reverseString()를 작성합니다.
  • 입력 파라메타는 문자열이며, 길이의 제한은 없습니다.
  • 리턴 값인 result는 입력 파라메타의 문자열에 속한 글자들의 순서를 뒤집은 문자열 입니다.
  • 예를 들어, reverseString("Hello World!")을 실행하면, result는 !dlroW olleH를 저장한 문자열이 됩니다.

[풀이]

Sol1) 문자열 슬라이싱을 활용하여 역순 출력

문자열[시작:끝:규칙]에서 세 번째 숫자를 잘 설정해주면 해당 문자열의 역순을 출력할 수 있다. 세 번째 숫자의 default는 1로 문자열의 인덱스를 순서대로 하여 슬라이싱을 하게 된다. 이를 2로 바꿔주면 한 칸씩 건너뛰며 [0], [2], [4]...인덱스를 슬라이싱하게 된다. 만약, -1를 넣게 되면 뒤에서부터 [-1], [-2]. [-3] 순으로 슬라이싱하게 된다.

# reverseString1() 함수 정의
def reverseString1(string):
    result = string[::-1] #
    return result   
    
reverseString1("Hello World!")

Sol2) for문을 통해 역순 출력

original 문자열의 앞에서부터 하나씩 가져오고 이를 빈 문자열의 앞에 계속 넣어준다. 아래처럼 역순을 반환한다.

'' + 'H'
'e' + 'H'
'l' + 'eH'
'l' + 'leH' 

# reverseString2() 함수 정의
def reverseString2(string):
    reversed_word = ''
    for a in string:
        reversed_word = a + reversed_word
    return reversed_word
    
reverseString2("Hello World!")

 

3) 리스트의 reverse() 함수를 사용해 역순 출력

문자열을 리스트로 변환하여 리스트를 reverse하고 이를 빈 문자열과 join하여 reversed_word로 만들어 준다.

# reverseString3() 함수 정의
def reverseString3(string):
    reversed_word = ''
    string_list = list(string)
    string_list.reverse()
    return reversed_word.join(string_list)
    
reverseString3("Hello World!")

[문제3]

  • 입력 파라메타 3개를 받아서 result 값을 리턴하는 함수 calcTwoCharactersFromString()를 작성합니다.
  • 입력 파라메타 중 첫번째(iString)는 문자열이며, 두번째(iCh1)와 세번째(iCh2)는 각각 글자 하나 입니다.
  • 리턴 값인 result는 iString 문자열 안에 iCh1 글자와 iCh2 글자가 몇 개나 포함되었는지에 대한 정수 입니다.
  • 예를 들어, calcTwoCharactersFromString("You only live once", 'o', 'Y')을 실행하면,result는 문자열내 o의 갯수인 3과 Y의 갯수인 1을 더한 정수 4가 됩니다.

[풀이]

문자열의 count()함수를 통해 해당 문자열이 몇 개 있는지 카운트 한 후 이를 합하여 반환한다.

# calcTwoCharactersFromString함수 정의
def calcTwoCharactersFromString(iString, iCh1, iCh2):
    iCh1_count = iString.count(iCh1)
    iCh2_count = iString.count(iCh2)
    return iCh1_count + iCh2_count 
    
calcTwoCharactersFromString("You only live once", 'o', 'Y')

'BACS > 서브세션' 카테고리의 다른 글

[서브세션] 서브세션 3주차  (0) 2022.11.06
[BACS] 서브세션 2주차  (0) 2022.10.01

+ Recent posts