PS (326) 썸네일형 리스트형 [BOJ] 백준 1152 단어의 개수 (Swift) 문제 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 풀이 입력을 받고, 공백을 기준으로 나눈 뒤 개수를 세면 된다. String 자료형에 split() 메서드를 사용하면 쉽게 풀이할 수 있음 https://developer.apple.com/documentation/swift/string/split(separator:maxsplits:omittingemptysubsequences:) Apple Developer Documentation .. [BOJ] 백준 1157 단어 공부 (Swift) 문제 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 풀이 대소문자 구분이 없기 때문에 입력받은 단어를 대문자로 바꾸는 작업이 필요함 알파벳이 key, 나온 빈도수를 value로 갖는 Dictionary를 초기화 해줘야 함 입력받은 단어를 하나씩 돌면서 Dictionary에 key가 있다면 +1, 없다면 1 이렇게 접근하여서 풀었는데 새롭게 알게된 사실이 있어요. Dictionary를 초기화할 때, key를 기준으로 중복된 값을 알아서 더해주는 방식이 있어요 https://de.. [BOJ] 백준 2675 문자열 반복 (Swift) 문제 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 풀이 String(repeating:count:) 속성을 사용해서 쉽게 풀 수 있는 문제 입력받은 문자열을 하나씩 돌면서 반복해주고, 새로운 문자열에 붙혀주면 풀 수 있음 소스코드 후기 for문을 돌면서 문자열을 하나씩 반복해서 새로운 문자열에 붙혀줄 수도 있지만, map을 사용하면 훨씬 간단하게 구현할 수 있는 문제인 것 같다. [BOJ] 백준 10809 알파벳 찾기 (Swift) 문제 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 풀이 입력이 알파벳은 소문자로만 이루어져 있음 a - z 까지 하나씩 입력의 첫번째로 등장하는 위치를 구해줘야 함 (없다면 0) 알파벳 소문자로만 이루어졌기 때문에 아스키 코드 값을 사용하는 방법도 있을 것임 입력을 아스키 코드 값으로 변환을 해준다. readLine()!.map { $0.asciiValue! } 알파벳 소문자는 아스키 코드 값으로 97 ~ 122 까지 이루어져 .. [BOJ] 백준 11720 숫자의 합 (Swift) 문제 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 풀이 입력받은 숫자를 Int의 배열로 만들어 준 뒤, 모든 요소의 합을 구하면 됨 소스코드 후기 String을 Int 배열로 만들 줄 알면 쉽게 풀 수 있는 문제이다. for문을 사용해도 되겠지만, map으로 간단하게 변환할 수 있음 [BOJ] 백준 11654 아스키 코드 (Swift) 문제 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 Character 자료형의 UnicodeScalar프로퍼티를 사용해서 쉽게 구할 수 있음 소스코드 후기 asciiValue 프로퍼티에 대해 알고 있다면 쉽게 풀 수 있는 문제 반대로는 어떻게 할까? UnicodeScalar(asciiValue)로 아스키 코드 값으로 글자를 구할 수 있음 [BOJ] 백준 1065 한수 (Swift) 문제 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 풀이 이 문제는 N이 1 ~ 1000 까지로 주어짐 1부터 99까지는 한수다. 2자리 이하이기 때문에 전부 등차수열이라고 할 수 있음 N이 100보다 작다면, N개가 한수이다. 1000은 한수가 아님! 100 ~ 999의 숫자가 한수인지 아닌지 판별하면 된다. 만약 한수라면 count를 증가시킨다. 한수인지 아닌지 판별하는 것은 말 그대로 등차수열인지 확인만 해주면 된다. 3자리 수에 대해서만 .. [BOJ] 백준 4673 셀프 넘버 (Swift) 문제 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 풀이 1부터 10000까지 셀프 넘버가 아닌 숫자를 구해준다. (생성자가 있는 숫자) (각 자리수 + 자기 자신의 수) 연산을 해서 나온 수는 생성자가 있는 숫자일 것 생성자가 있는 숫자를 집합에 넣어준다. Array에 넣어줘도 상관없지만, 생성자가 2개 이상인 경우 중복이 되므로 Set을 생각했음 1 ~ 10,000까지 집합에 있는지 확인하.. 이전 1 ··· 31 32 33 34 35 36 37 ··· 41 다음