업그레이트 (UpGreate)

- 威武不屈


  • Home

  • Categories

  • About

  • Archives

  • Tags

  • Search

SW Expert Academy - D1_2050

Posted on 2019-07-29 | In ALGORITHM

D1_2050. 알파벳을 숫자로 변환

문제:

  • 알파벳으로 이루어진 문자열을 입력 받아 각 알파벳을 1부터 26까지의 숫자로 변환하여 출력하라.

입력:

알파벳으로 이뤄진 문자열 주어진다. (문자열의 최대길이는 200)

출력:

ex) 1 2 3 4 5 6

알파벳을 숫자로 변환한 결과값을 빈 칸을 두고 출력한다.

생각한 로직:

  • A~Z 까지 대응하는 숫자를 입력해서 분류한다
  • 문자를 유니코드로 바꿔주는 내장 함수 ord() 사용한다.

코딩:

  • 딕셔너리로 A~Z 대응하는 숫자를 만든다.
1
2
3
4
5
6
7
8
9
10
11
#import sys
#sys.stdin = open("1.txt",'r')

st = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
dataset = dict()
for i,item in enumerate(st):
    dataset[item] = i+1

arr = input()
for j in arr:
    print(dataset[j], end=" ")

  • 내장함수 ord() 사용
1
2
3
4
5
6
7
#import sys
#sys.stdin = open("1.txt",'r')


arr = input()
for item in arr:
    print(ord(item)-ord("A")+1, end=" ")
Read more »

SW Expert Academy - D1_2047

Posted on 2019-07-28 | In ALGORITHM

D1_2047. 신문 헤드라인

문제:

  • 문자열의 알파벳 소문자를 모두 대문자로 바꾸는 프로그램을 개발 중이다.
  • 입력의 모든 소문자 알파벳을 찾아 대문자로 변환한 다음, 그 결과를 출력하는 프로그램을 작성하라.

입력:

80bytes 이하의 길이를 가진 문자열이 주어진다.

출력:

문자열의 소문자 모두를 대문자로 변경한 결과를 출력한다.

생각한 로직:

  • 딕셔너리로 소문자와 대문자를 key val로 묶은 데이터 셋을 만들어서 바꾸는 방법
  • ord() 내장함수를 사용해서 수학적으로 소문자와 대문자의 관계를 확인하고 바꾼다.
  • 소문자를 대문자로 바꿔주는 내장 함수를 사용한다.

코딩:

  • 데이터 셋으로 만들어서 바꾸자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#import sys
#sys.stdin = open("1.txt",'r')


bigchar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
smallchar = "abcdefghijklmnopqrstuvwxyz"
dataset = dict()

for idx in range(len(bigchar)):
    dataset[smallchar[idx]] = bigchar[idx]

arr = input()
for item in arr:
    if item in dataset:
        print(dataset[item],end ="")
    else:
        print(item,end="")
Read more »

SW Expert Academy - D1_2046

Posted on 2019-07-27 | In ALGORITHM

D1_2043. 서랍의 비밀번호

문제:

  • 비밀번호 P는 000부터 999까지 번호 중의 하나이다.
  • 주어지는 번호 K부터 1씩 증가하며 비밀번호를 확인해 볼 생각이다.
  • 예를 들어 비밀번호 P가 123 이고 주어지는 번호 K가 100 일 때, 100부터 123까지 24번 확인하여 비밀번호를 맞출 수 있다.
  • P와 K가 주어지면 K부터 시작하여 몇 번 만에 P를 맞출 수 있는지 알아보자.

입력:

P K

출력:

몇 번 만에 비밀번호를 맞출 수 있는지 출력한다.

생각한 로직:

  • 주어지는 번호 K 부터 1씩 증가해서 비밀번호를 확인하니까 시작하는 번호 K부터 비밀번호가 맞는 끝 번호 P까지 횟수는 수학문제
    • P - K +1 (1을 더해주는 이유는 K부터 시작하니까 포함시켜주기 위해서 이다.)
  • 반복문을 실제로 돌려보면서 값을 구해본다.

코딩:

  • P - K +1
1
2
3
4
5
#import sys
#sys.stdin = open("1.txt",'r')

P,K = map(int,input().split())
print(P-K+1)

  • 반복문 실제로 돌린다.
1
2
3
4
5
6
7
8
9
10
11
#import sys
#sys.stdin = open("1.txt",'r')

P,K = map(int,input().split())
cnt = 0
while True:
    cnt += 1
    if P == K:
        print(cnt)
        break
    K += 1
Read more »

SW Expert Academy - D1_2043

Posted on 2019-07-26 | In ALGORITHM

D1_2043. 서랍의 비밀번호

문제:

  • 비밀번호 P는 000부터 999까지 번호 중의 하나이다.
  • 주어지는 번호 K부터 1씩 증가하며 비밀번호를 확인해 볼 생각이다.
  • 예를 들어 비밀번호 P가 123 이고 주어지는 번호 K가 100 일 때, 100부터 123까지 24번 확인하여 비밀번호를 맞출 수 있다.
  • P와 K가 주어지면 K부터 시작하여 몇 번 만에 P를 맞출 수 있는지 알아보자.

입력:

P K

출력:

몇 번 만에 비밀번호를 맞출 수 있는지 출력한다.

생각한 로직:

  • 주어지는 번호 K 부터 1씩 증가해서 비밀번호를 확인하니까 시작하는 번호 K부터 비밀번호가 맞는 끝 번호 P까지 횟수는 수학문제
    • P - K +1 (1을 더해주는 이유는 K부터 시작하니까 포함시켜주기 위해서 이다.)
  • 반복문을 실제로 돌려보면서 값을 구해본다.

코딩:

  • P - K +1
1
2
3
4
5
#import sys
#sys.stdin = open("1.txt",'r')

P,K = map(int,input().split())
print(P-K+1)

  • 반복문 실제로 돌린다.
1
2
3
4
5
6
7
8
9
10
11
#import sys
#sys.stdin = open("1.txt",'r')

P,K = map(int,input().split())
cnt = 0
while True:
    cnt += 1
    if P == K:
        print(cnt)
        break
    K += 1
Read more »

SW Expert Academy - D1_2029

Posted on 2019-07-25 | In ALGORITHM

D1_2029. 몫과 나머지 출력하기

문제:

  • 2개의 수 a, b를 입력 받아, a를 b로 나눈 몫과 나머지를 출력하는 프로그램을 작성하라.

입력:

테스트 케이스 T

테스트 케이스가 나오는데 한 줄에 2개의 수가 주어진다.

출력:

ex) #1 4 1

몫과 나머지를 출력한다.

생각한 로직:

  • 문제 그대로 a를 b로 나눈 몫과 나머지를 저장해 출력한다.

코딩:

1
2
3
4
5
6
7
#import sys
#sys.stdin = open("1.txt",'r')

T = int(input())
for tc in range(1,T+1):
    a,b = map(int,input().split())
    print("#{} {} {}".format(tc,a//b,a%b))
Read more »
1 … 27 28 29 … 32
Sik

Sik

156 posts
7 categories
30 tags
RSS
© 2021 Sik
Powered by Jekyll
Theme - NexT.Muse