티스토리 뷰

📌 1065. 한수  

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 

 

✏️ 입력. 

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.

 

📋 출력. 

첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

 

✍️ 방법.

100보다 작은 수는 모두 한수. 100보다 큰 경우는 숫자를 문자열로 바꾸어 index를 활용해 자릿수마다의 차이를 구하여 등차수열인지 확인한다 

 

def check(num) :
    cnt = 0 
    for i in range(1,int(num)+1):
        if i < 100 : cnt+=1
        else:
            check = True
            temp = str(i)
            sub = int(temp[0]) - int(temp[1])
            for j in range(1, len(temp)-1):
                if sub != int(temp[j]) - int(temp[j+1]): 
                    check = False
            if check :
                cnt+=1

    return(cnt)

num = input()
print(check(num))

 

 

📌 1316. 그룹 단어 체커   

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.

 

✏️ 입력. 

첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다.

둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다.

 

📋 출력. 

첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

 

✍️ 방법.

더 이상 문자가 연속되지 않는 기점으로 slicing을 하고, 잘라낸 문자열에 같은 문자가 있는 경우 그룹 단어가 아니다

 

✔️ word = 'aaabca' 의 경우 

     word[0] == word[1] → 'a' === 'a' → True

     word[1] == word[2] → 'a' === 'a' → True

     word[2] == word[3] → 'a' === 'b' → False

 

✔️ 더 이상 문자가 연속되지 않는 경우를 기점인 word[4:]으로 slicing을 한다.

     word[3:]    'bca'

 

✔️ 기준이 되는 문자인 'a'가 잘라낸 문자열에 있는 경우, 그룹 단어가 아니다

     word[3:].count('a) → 1 → 그룹단어가 아니다 

 

num = int(input())
group_word = 0

for i in range(num):
    word = input()
    check = True
    
    for j in range(len(word)-1):   
        if check == False:
            break
            
        if word[j] != word[j+1]:  
            new_word = word[j+1:]  
            if new_word.count(word[j]) > 0:  
                check = False
    if check:  
        group_word += 1 
        
print(group_word)

 

 

댓글
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday