파이썬 순차탐색으로 조건에맞는 위치를 찾아내려면???

조회수 704회
f=open('data.txt', mode='r', encoding='utf-8')
lines = f.readlines()

print(type(lines))
print(lines)
print(lines[1])

start = int(input("시작 회차 입력: "))
last = int(input("마지막 회차 입력: "))

lst=[]
for i in range(start,last+1):
    lst.append(str(i)+'\n')
print("찾는 회차의 합",len(lst))
lst.reverse()
print(lst)
print(lines)
print(lst[0])
print(lines[0])

list_group=list(set(lst).intersection(lines))
list_group.sort()
print("조회한 구간",list_group)
print("조회한 구간 길이",len(list_group))

index_num=[]
for i in list_group:
    for d in lines:
        if d == i:
            index_num.append(lines.index(d))
            continue
index_num.sort()
print(index_num)

index_odd_oven=[]
for i in index_num:
    index_odd_oven.append(i+1)

print(index_odd_oven)

odd_count = 0
even_count = 0
for i in index_odd_oven:
    if lines[i] == "짝\n":
        even_count+=1
    else:
        odd_count+=1

print("조회한 홀 갯수: ", odd_count)
print("조회한 짝 갯수: ", even_count)
print("총 합계: ", odd_count+even_count)

도와주신 덕분에 해결되었습니다....
  • 어... 죄송한데 다시 말씀해주시겠어요? 잘 이해가 안돼서요... 엽토군 2020.3.15 12:00

1 답변

  • import sys
    
    lines=['홀', '짝', '홀', '짝', '홀', '짝', '홀', '홀']
    
    start = int(input("처음 수 입력: "))
    last = int(input("마지막 수 입력: "))
    
    if start < 0 :
        sys.exit(0)
    if last > len(lines):
        sys.exit(0)
    
    odd = 0
    even = 0
    oddloc = []
    evenloc = []
    for idx, i in enumerate(lines[start:last]):
        if i == '홀':
            odd += 1
            oddloc.append(idx)
        elif i == '짝':
            even += 1
            evenloc.append(idx)
    
    print('')
    print('홀의 갯수 : %d'%odd)
    print('홀의 위치들',oddloc)
    print('짝의 갯수 : %d'%even)
    print('짝의 위치들',evenloc)
    
    #처음 수 입력: 0
    #마지막 수 입력: 8
    
    #홀의 갯수 : 5
    #홀의 위치들 [0, 2, 4, 6, 7]
    #짝의 갯수 : 3
    #짝의 위치들 [1, 3, 5]
    

    질문이 잘 이해가지 않지만 인덱스에 대해서 고민하시는거 같은데... 맞는지 모르겟네요.

    enumerate 를 활용해보시는게 도움될거같아요..

    • 답변 감사드립니다... 질문 수정 했습니다... 설명을 잘못해 드려서 죄송합니다ㅜㅜ 알 수 없는 사용자 2020.3.16 10:51

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)