문제풀이2
Q5) 사이냅소프트 면접문제
밍이 ・ 2018. 2. 23. 2:06
주어진 문자열(공백 없이 쉼표로 구분되어 있음)을 가지고 아래 문제에 대한 프로그램을 작성하세요.
이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌
김씨와 이씨는 각각 몇 명 인가요?
"이재영"이란 이름이 몇 번 반복되나요?
중복을 제거한 이름을 출력하세요.
중복을 제거한 이름을 오름차순으로 정렬하여 출력하세요.
나의 풀이>>
names = "이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌"
name = names.split(',')
count_kim = 0
count_lee = 0
young=0
for n in name:
if n[0]=='김':
count_kim += 1
if n[0]=='이':
count_lee += 1
if n == '이재영':
young += 1
print(count_kim, count_lee, young)
pri = set(names) #집합 자료형으로 만들어 주는 함수(집합:중복이 없는 요소들로만 구성)
print(pri)
sort = sorted(pri)
print(sort)
추천 풀이>>
#1
a=[ i[0] for i in names ]
print("김씨 : %d\n이씨 : %d\n"%(a.count("김"), a.count("이")))
#2
print(names.count("이재영"))
#3
uniq_names = list(set(names)) #집합 자료형으로 만들어 주고 리스트형으로 변환
print(uniq_names)
#4
uniq_names.sort()
print(uniq_names)
Q4) 탭을 공백 문자로 바꾸기
A씨는 개발된 소스코드를 특정업체에 납품하려고 한다. 개발된 소스코드들은 탭으로 들여쓰기가 된것, 공백으로 들여쓰기가 된 것들이 섞여 있다고 한다. A씨는 탭으로 들여쓰기가 된 모든 소스를 공백 4개로 수정한 후 납품할 예정이다.
A씨를 도와줄 수 있도록 소스코드내에 사용된 탭(Tab) 문자를 공백 4개(4 space)로 바꾸어 주는 프로그램을 작성하시오.
나의풀이>>
def space(source_code):
return source_code.replace("\t"," ")
추천풀이>>
filename=input("Enter your file name : ")
tempfile=open(filename)
tempfile=tempfile.read()
temp_str=tempfile.replace("\t"," ")
tempfile=open(filename,'w')
tempfile.write(temp_str)
tempfile.close()