핀아의 저장소 ( •̀ ω •́ )✧

17일차(2020-11-30) 본문

Computer Science/코딩테스트_Python

17일차(2020-11-30)

_핀아_ 2020. 11. 30. 18:27

codingdojang.com/list/1?sort=level&sort_order=fw

 

코딩도장

프로그래밍 문제풀이를 통해서 코딩 실력을 수련

codingdojang.com

앞으로 코딩을 연습할 사이트이다. 난이도별로 풀어볼 수 있어서 초급자인 나에게 차근차근 성장 할 기회가 될 것 같아 선택하였다. :)

무엇보다 다른 고수분들의 코드도 볼 수 있어서 많은 도움이 될 것 같다.

 

<문제1>

1
2
3
10미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다.
 
1000미만의 자연수에서 3,5의 배수의 총합을 구하라.
cs

<답안1>

1
2
3
4
5
6
7
tot = 0
 
for i in range(1000):
    if i % 3 ==0 or i % 5 ==0:
        tot += i
 
print(tot)
cs

 

<문제2>

1
2
3
4
A씨는 개발된 소스코드를 특정업체에 납품하려고 한다. 개발된 소스코드들은 탭으로 들여쓰기가 된것, 공백으로 들여쓰기가 된 것들이 섞여 있다고 한다. 
A씨는 탭으로 들여쓰기가 된 모든 소스를 공백 4개로 수정한 후 납품할 예정이다.
 
A씨를 도와줄 수 있도록 소스코드내에 사용된 탭(Tab) 문자를 공백 4개(4 space)로 바꾸어 주는 프로그램을 작성하시오.
cs

<답안2>

1
2
3
4
5
6
7
8
9
10
file_name = input("파일을 입력하세요:")
= open('file_name''r')
file_ch = f.read()
f.close()
 
file_Replace = file_ch.replace('\t''    ')
 
= open('filename''w')
f.write(data_Replace)
f.close()
cs

 

<문제3>

1
2
3
4
5
6
주어진 문자열(공백 없이 쉼표로 구분되어 있음)을 가지고 아래 문제에 대한 프로그램을 작성하세요.
이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌
1. 김씨와 이씨는 각각 몇 명 인가요?
2. "이재영"이란 이름이 몇 번 반복되나요?
3. 중복을 제거한 이름을 출력하세요.
4. 중복을 제거한 이름을 오름차순으로 정렬하여 출력하세요.
cs

<답안3>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1.
data_ori = ("이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌")
 
data = data_ori.split(',')
 
cnt_kim = 0
cnt_lee = 0
for i in data:
    if i[0== "김":
        cnt_kim += 1
    elif i[0== "이":
        cnt_lee += 1
 
print("김씨: %d명\n이씨: %d명" %(cnt_kim, cnt_lee))
cs
1
2
3
4
5
6
7
8
9
10
11
2.
data_ori = ("이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌")
 
data = data_ori.split(',')
 
cnt = 0
for i in data:
    if i == "이재영":
        cnt += 1
 
print("이재영: %d명" %(cnt))
cs
1
2
3
4
5
6
7
3.
data_ori = ("이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌")
 
data = data_ori.split(',')
data = set(data)
for i in data:
    print(i)
cs
1
2
3
4
5
6
7
4.
data_ori = ("이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌")
 
data = data_ori.split(',')
data = sorted(set(data))
for i in data:
    print(i)
cs

★ 3번 Tip!

중복 제거 시 set 사용

 

 

'Computer Science > 코딩테스트_Python' 카테고리의 다른 글

19일차(2020-12-02)  (0) 2020.12.02
18일차(2020-12-01)  (0) 2020.12.01
16일차(2020-11-27)  (0) 2020.11.27
15일차(2020-11-26)  (0) 2020.11.26
14일차(2020-11-25)  (0) 2020.11.25
Comments