Git Product home page Git Product logo

algorithm.log's Introduction

알고리즘에 관한 잡담

알고리즘 문제 풀이를 시작한 이후로 세상만사가 알고리즘 풀이 과정으로 보이게 됬다. 디자인 패턴 공부할 때도 세상 모든 것이 디자인 패턴으로 보였는데, 비슷한 증상인 듯하다.

작년에 웹개발을 공부하던 때는 자바스크립트로 풀이를 했고, 현재 2021년에는 iOS 개발을 공부하면서 스위프트로 풀이를 진행하고 있다.

지금 보니 이곳에 기록하지 않은 알고리즘 문제 풀이가 상당히 많다. 이제부터는 조금 더 착실하게 알고리즘 문제 풀이를 기록해보려고 한다.

현재는 CodeWars라는 알고리즘 풀이 플랫폼에서 기초를 다지고 있고, 추후에는 LeetCode 혹은 프로그래머스의 문제들도 풀고 기록할 계획이다.

최근에 본 책에서 읽은 구절이 생각난다. "음악가가 스케일을 연습하는 것과 같이 프로그래머는 알고리즘 문제 풀이를 연습한다"고.

실력있는 프로그래머가 되려면 알고리즘 작성 연습을 꾸준히 해야한다는 말인 것 같다.

다행히도 나는 알고리즘 풀이를 어느정도는 즐기는 편이기 때문에 지속할 수 있는 취미로 삼을 수 있을 것 같다.

내가 작성한 알고리즘이 최고의 알고리즘일 필요는 없다.

지금은 알고리즘 문제를 하나씩 풀이하면서 배운점과 느낀점을 기록해보는데 집중하자.

Tips

알고리즘을 작성하다가 문법이나 API가 떠오르지 않을때는 코드를 플레이그라운드에서 작성한다.

만약 코딩 문제풀이 혹은 코딩테스트 플랫폼이 복사 및 붙여넣기를 지원하지 않는다면 꽤나 번거롭겠지만, 필요에 따라 사용했을 때 매우 편리했다.

코딩테스트 플랫폼이나 문제풀이 웹사이트의 IDE는 xcode와는 다르게 intellisense 가 탑재되어 있지 않기 때문에 스위프트의 길고 다양한 메서드를 모두 외우기 전까지는 좋은 방법인 것 같다.

Useful APIs (Swift)

Hacks (Swift)

CodeSnippets (Swift)

HackerRank 🏰

Swift 🐦

#1 Heaps: Find the Running Median

CodeWars ⚔️

Swift 🦅

8kyu
7kyu

#1 binary_calculator
#2 lost_number_in_number_sequence
#3 partial_word_searching
#4 euclidean_distance_in_n_dimensions
#5 fizz_buzz_cuckoo_clock
#6 balanced_number
#7 alphabetical_addition
#8 linked_lists_move_node
#9 resistor_color_codes
#10 sum_of_integers_in_string
#11 find_the_nth_digit_of_a_number.swift
#12 circle_of_numbers.swift
#13 replace_all_items.swift
#14 jumping_number.swift
#15 sum_of_angles.swift
#16 count_the_digit.swift
#17 sum_of_all_the_multiples_of_3_or_5 #18 special_number_series_5 #19 find_all_non_consecutive_numbers #20 sort_out_the_men_from_boys #21 disarium_number_special_numbers_series_3 #22 extra_perfect_numbers_special_numbers_series_7 #23 toleetspeak #24 linked_lists_get_nth_node #25 linked_lists_push_build_onetwothree #26 counting_in_the_amazon #27 easy_wallpaper #28 moves_in_squared_strings_I #29 going_to_the_cinema #30 correct_the_time-string

6kyu

#1 unique_substring_from_joined_strings
#2 linked_lists_remove_duplicates
#3 basic_encryption
#4 linked_lists_insert_nth_node
#5 n-back #6 moves_in_squared_string_IV #7 linked_lists_iterative_reverse #8 good_vs_evil

JavaScript 🕸

8kyu

#1 multiply
#2 total_amount_of_points
#3 opposite_number
#4 welcome
#5 function_1_hello_world
#6 find_numbers_which_are_divisible_by_given_number
#7 even_or_odd
#8 sum_of_positive
#9 string_repeat
#10 remove_first_and_last_character
#11 return_negative
#12 find_the_smallest_integer_in_the_array
#13 remove_string_spaces
#14 counting_sheep
#15 basic_mathematical_operations
#16 grasshopper_summation
#17 convert_boolean_value_to_strings_yes_or_no
#18 convert_a_number_to_a_string
#19 count_of_positive_sum_of_negatives
#20 sum_without_highest_and_lowest_number
#21 convert_number_to_reversed_array_of_digits
#22 a_needle_in_the_haystack
#23 jenny's_secret_message
#24 keep_hydrated
#25 calculate_average
#26 is_n_divisible_by_x_and_y
#27 century_from_year
#28 reversed_strings
#29 find_maximum_and_minimum_values_of_a_list
#30 rock_paper_scissors
#31 invert_values
#32 fake_binary
#33 square_n_sum
#34 double_char
#35 abbreviate_a_two_word_name
#36 reversed_sequence
#44 do_i_get_a_bonus
#46 dna_to_rna_conversion
#47 alternating_case
#48 convert_string_to_a_number
#49 you_only_need_one_beginner
#51 transportation_on_vacation
#52 remove_exclamation_marks
#53 are_you_playing_banjo
#55 to_square_or_not_to_square #57 the_feast_of_many_beasts

7kyu

#37 rithm_series_frame_a_phrase_simple
#38 mumbling
#39 get_the_middle_character
#40 vowel_count
#41 highest_and_lowest
#42 shortest_word
#43 complementary_dna
#45 descending_order
#50 exes_and_ohs
#54 jaden_casing_strings
#56 square_every_digit

algorithm.log's People

Contributors

seoulboy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.