관리 메뉴

솜씨좋은장씨

[BaekJoon] 26264번 : 빅데이터? 정보보호! (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 26264번 : 빅데이터? 정보보호! (Python)

솜씨좋은장씨 2023. 3. 7. 15:07
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 빅데이터? 정보보호! 입니다.

 

26264번: 빅데이터? 정보보호!

첫 번째 줄에 정보보호 분야보다 빅데이터 분야에 관심이 있는 학생이 더 많으면 "bigdata?"를, 빅데이터 분야보다 정보보호 분야에 관심이 있는 학생이 더 많으면 "security!"를, 같으면 "bigdata? securit

www.acmicpc.net

👨🏻‍💻 문제 풀이

문제에서 빅데이터가 좋은지 정보보호가 좋은지 물어봤던 총 학생 수를 제공해주었고

메모장에 적혀있는 문자열은 bigdata와 security 로만 구성되어있다는 조건이 있습니다.

이 두 가지를 활용하여 문제를 풀었습니다.

반복문을 돌면서 문자열 안에 bigdata 와 security 가 각각 몇 개 씩 존재하는지 확인하는데

이때 반복문이 돌아가는 최대 회수는 질문했던 총 학생 수 만큼 입니다.

    for _ in range(N):

찾는 것은 bigdata 와 security 둘 중에 하나이므로 

문자열을 탐색할때 사용할 idx 를 하나와 security, bigdata 가 각각 몇개인지 셀때 사용할 변수도 하나 만들어줍니다.

    idx = 0
    security, bigdata = 0, 0

문자열에서 idx 위치의 값이 "s" 이면 security 의 값을 +1 해주고 

idx 는 security 길이만큼 더해주어 다음 위치를 현재 단어 바로 뒤로 이동시켜 줍니다.

        if student_list[idx] == "s":
            security += 1
            idx += len("security")

마찬가지로 문자열에서 idx 위치의 값이 "b" 이면 bigdata 의 값을 +1 해주고 

idx 는 bigdata 길이만큼 더해주어 다음 위치를 현재 단어 바로 뒤로 이동시켜 줍니다.

 

        elif student_list[idx] == "b":
            bigdata += 1
            idx += len("bigdata")

이렇게 구한 bigdata 와 security 의 값을 비교하여

    answer = "bigdata? security!"
    if security > bigdata:
        answer = "security!"
    elif security < bigdata:
        answer = "bigdata?"

같으면 bigdata? security 를

security 값이 더 크면 security! 를

bigdata 값이 더 크면 bigdata? 를 정답으로 하도록 하였습니다.

👨🏻‍💻 코드 ( Solution )

def bigdata_or_sercurity(N, student_list):
    answer = "bigdata? security!"
    idx = 0
    
    security, bigdata = 0, 0
    
    for _ in range(N):
        if student_list[idx] == "s":
            security += 1
            idx += len("security")
        elif student_list[idx] == "b":
            bigdata += 1
            idx += len("bigdata")
            
    if security > bigdata:
        answer = "security!"
    elif security < bigdata:
        answer = "bigdata?"
    
    return answer


if __name__ == "__main__":
    N = int(input())
    student_list = input()
    
    print(bigdata_or_sercurity(N=N, student_list=student_list))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments