본문 바로가기

Algorithm15

[Python] 변수값이 숫자로 변환가능한지 확인하는 방법 안녕하세요. 혀코입니다. 이번 시간에는 변수값이 숫자로 변환 가능한지 여부를 확인하는 방법에 대해서 알아보겠습니다. 변수값이 숫자로 변환 가능한지 여부는 isdigit() 메서드를 사용하면 쉽게 확인이 가능합니다. strings = "456" print(strings.isdigit()) # True 이 방법을 활용해서 문자와 숫자가 혼합된 문자열에서 숫자의 값만 더한 값을 구해 보자면 다음과 같이 구할 수 있습니다. strings = "cd2eft8aze23" answer = 0 for str1 in strings: if str1.isdigit() == True: answer += int(str1) print(answer) # 15 주어진 문자열을 for loop `for str1 in strings` .. 2023. 7. 18.
Python에서 list 복사하는 방법 안녕하세요. 혀코입니다. 이번 시간에는 Python에서 list를 복사하는 방법에 대해서 알아보겠습니다. Python에서 list를 복사할 때 주의 사항이 있습니다. 만약 aList 와 bList 가 있을 때 aList = bList 가 같다고 하고 bList를 변경하면 aList도 동일하게 변경되는 것을 확인할 수 있습니다. aList = [] bList = [1,2,3] aList = bList for i in range(len(bList)): bList[i] += 1 print(f'aList = {aList}') # [2,3,4] print(f'bList = {bList}') # [2,3,4] 이러한 이슈를 방지하기 위해서 Python에서 list를 복사할 때 [:]를 사용해서 어느 한 List가 .. 2023. 7. 14.
C++ 이미지 파일 저장용량 계산하는 방법 | C++ 안녕하세요. 혀코입니다. 이번 시간에는 이미지 파일 저장용량 계산하는 방법에 대해서 알아보겠습니다. 빨강, 초록, 파랑 각 색에 8비트씩 사용할때 28*28*28 = 224 총 24비트가 필요합니다. 그래서 해상도 w * h에 각 픽셀당 필요한 24비트라고 가정할 때, 저장용량의 계산은 다음과 같이 진행하면 됩니다. w * h * 24 이 값을 MB로 환산하려면 8로 나눠 Byte, 1024나눠 KB, 1024로 나눠 MB로 변환하고, 소수 둘째자리 까지 반올림해서 출력하려면 %.2lf 형식으로 사용하면 됩니다. #include int main() { int w, h, b; float total; scanf("%d %d %d", &w, &h, &b); total = w*h*b; total = total/.. 2020. 10. 5.
3, 6, 9 게임 테스트 출력하는 방법 | C++ 안녕하세요. 혀코입니다. 이번 시간에는 3, 6, 9 게임 테스트 출력하는 방법에 대해서 알아보겠습니다. 정수(1~100) 중 하나를 입력하면 1부터 해당 정수까지 3, 6, 9 가 들어간 수에 X 표시를 하는 방법입니다. 만약 33이 들어갔다면 XX표시를 하는 방법입니다. #include int main() { int i, n; scanf("%d", &n); for(i = 1; i 2020. 10. 3.
영어문장에서 모음의 개수 세는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 영어문장에서 모음의 개수를 세는 방법에 대해서 알아보겠습니다. function vowels(str) { let count = 0; const checker = "aeiou" for(let char of str.toLowerCase()) { if(checker.includes(char)) { count++; } } return count; } 문자열 하나를 받아서 소문자로 바꾼다음 문자열의 단어가 모음으로 이뤄진 checker에 속할때 count를 증가시켜서 모음의 개수를 셀 수 있습니다. 이 코드는 다음과 같이도 적을 수 있습니다. function vowels(str) { let count = 0; const checker = ['a','e','i','o','u'].. 2020. 9. 10.
숫자를 받아서 피라미드 모양으로 표시하는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 숫자를 하나받아서 피라미드 모양으로 표시하는 방법에 대해서 알아보겠습니다. 1일때, '#' 2일때, ' # ' '###' 3일때, ' # ' ' ### ' '#####' 4일때, ' # ' ' ### ' ' ##### ' '#######' function pyramid(n) { const midpoint = Math.floor((2 * n - 1) / 2); for(let row = 0; row < n; row++){ let level = ''; for(let col = 0; col < 2 * n - 1; col++) { if(midpoint - row = col) { level += '#'; } else { level += ' '; } } console.log(l.. 2020. 9. 9.
숫자를 받아서 계단형식으로 표시하는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 JavaScript로 숫자 하나를 받아서 #기호로 다음과 같이 계단을 표시하는 방법에 대해서 알아보겠습니다. 1의 경우, '#' 2의 경우, '# ' '##' 3의 경우, '# ' '## ' '###' 4의 경우, '# ' '## ' '### ' '####' function steps(n) { for(let row = 0; row < n; row++) { let stair = ''; for(let col = 0; col < n; col++){ if (col 2020. 9. 8.
한글의 한 글자를 초성 중성 종성 나누는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 한글의 한 글자를 초성 중성 종성으로 나눠 배열로 저장하는 방법을 알아보겠습니다. 우선 문자의 유니코드 번호를 구하는 방법을 알아야합니다. 문자의 유니코드 번호를 구하는 방법은 charCodeAt() 메소드를 사용합니다. 유니코드 번호로 부터 문자를 표시하는 방법은 String.fromCharCode(num) 함수를 사용합니다. 자음에 해당하는 문자를 확인해 보기위해 ㄱ의 유니코드 번호를 확인해보면 12593이며, ㅎ의 유니코드 번호는 12622 이므로, for loop을 이용해서 ㄱ과 ㅎ 사이의 자음을 모두 표시해 보면 다음과 같습니다. "ㄱ".charCodeAt(); // 12593 "ㅎ".charCodeAt(); // 12622 for(let i = 12593.. 2020. 9. 7.
문장의 각 단어의 첫글자를 대문자로 바꾸는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 문장의 각 단어의 첫글자를 대문자로 바꾸는 방법에 대해서 알아보겠습니다. function capitalize(str) { words = []; words = str.split(' '); for(let i = 0; i 2020. 9. 6.
문자열 구성 비교하는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 문자열 구성 비교하는 방법에 대해서 알아보겠습니다. function anagrams(stringA, stringB) { let a = stringA.replace(/[^\w]/g,'').toLowerCase().split('').sort().join(); let b = stringB.replace(/[^\w]/g,'').toLowerCase().split('').sort().join(); return a === b; } module.exports = anagrams; 문자열에 replace 메소드를 써서 regular expression(/[^\w]/g,'')을 적용하면, 기호와 스페이스를 제거해줍니다. 여기에 toLowerCase() 메소드를 적용하면 모든 문자를.. 2020. 9. 5.
배열(Array)을 일정한 사이즈에 맞춰 나누는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 배열(Array)을 일정한 사이즈에 맞춰 나누는 방법에 대해서 알아보겠습니다. function chunk(array, size) { const chunked = []; for (let element of array) { const last = chunked[chunked.length - 1]; if(!last || last.length === size) { chunked.push([element]) } else { last.push(element); } } return chunked; } module.exports = chunk; 비어있는 배열(Array)을 하나 만들고, 받은 배열을 for of loop을 사용해 돌립니다. 비어있는 배열의 마지막 element를 .. 2020. 9. 4.
3의 배수에 'Kung' 5의 배수에 'JJak' 표시하는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 3의 배수에 'Kung' 5의 배수에 'Jjak' 표시하는 방법에 대해서 알아보겠습니다. function kungjjak(n) { for(let i = 1; i 2020. 9. 3.
숫자를 거꾸로 표시하는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 숫자를 거꾸로 표시하는 방법에 대해서 알아보겠습니다. 만약 숫자 19를 거꾸로 표시하면, 91이 표시가 되고, -19를 거꾸로 표시하면, -91이 표시가 되고 700의 경우 7이 표시가 되고, -700의 경우, -7이 표시가 되도록 코딩해 보겠습니다. function reverseInt(n) { return parseInt(n.toString().split('').reverse().join('')) * Math.sign(n); } module.exports = reverseInt; toString() 함수는 숫자를 문자로 바꾸고, split()은 문자열을 배열로 바꾸고, reverse()는 배열의 순서를 바꾸고, join()은 배열을 하나의 문자열로 바꿔줍니다. 그.. 2020. 9. 1.
문자열(string)을 거꾸로 해도 원래 문자열과 동일한지 확인하는 방법 | Alogrithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 JavaScript에서 문자열을 거꾸로 해도 원래 문자열과 동일한지 확인하는 방법에 대해서 알아보겠습니다. function palindrome(str) { return str == str.split('').reduce((rev,char) => char + rev, '') ? true : false; } module.exports = palindrome; 지난 시간에 문자열 거꾸로 하는 방법에 대해 배운것을 응용하여 입력받은 문자열을 거꾸로 뒤집은 다음, 기존 문자열과 동일한지 확인 후, 삼항 연산자를 사용해서 해당 문자열이 같으면, true를 반환하고 다르다면 false를 반환하도록 구현했습니다. function palindrome(str) { return str .. 2020. 8. 31.
문자열(string)을 거꾸로 출력하는 방법 | Algorithm | JavaScript 안녕하세요. 혀코입니다. 이번 시간에는 문자열(string)을 거꾸로 출력하는 방법에 대해서 알아보겠습니다. const var1 = 'English101'; 변수 var1을 만들고, English101이라는 문자열을 var1에 저장했습니다. 문자열을 거꾸로 출력하는 기능이 없기 때문에, 다음과 split함수를 사용해서 문자 배열로 만든다음, reverse 함수를 사용해서 순서를 뒤집고, join 함수를 사용해서 하나의 문자열로 만들어줘야 합니다. const var1 = 'English101'; console.log(var1.split('').reverse().join('')); // 101hsilgnE reverse 함수를 사용하지 않는 경우에는 다음과 같이 진행합니다. const var1 = 'Engl.. 2020. 8. 27.